

# Actions
<a name="API_Operations"></a>

The following actions are supported:
+  [CreateAccess](API_CreateAccess.md) 
+  [CreateAgreement](API_CreateAgreement.md) 
+  [CreateConnector](API_CreateConnector.md) 
+  [CreateProfile](API_CreateProfile.md) 
+  [CreateServer](API_CreateServer.md) 
+  [CreateUser](API_CreateUser.md) 
+  [CreateWebApp](API_CreateWebApp.md) 
+  [CreateWorkflow](API_CreateWorkflow.md) 
+  [DeleteAccess](API_DeleteAccess.md) 
+  [DeleteAgreement](API_DeleteAgreement.md) 
+  [DeleteCertificate](API_DeleteCertificate.md) 
+  [DeleteConnector](API_DeleteConnector.md) 
+  [DeleteHostKey](API_DeleteHostKey.md) 
+  [DeleteProfile](API_DeleteProfile.md) 
+  [DeleteServer](API_DeleteServer.md) 
+  [DeleteSshPublicKey](API_DeleteSshPublicKey.md) 
+  [DeleteUser](API_DeleteUser.md) 
+  [DeleteWebApp](API_DeleteWebApp.md) 
+  [DeleteWebAppCustomization](API_DeleteWebAppCustomization.md) 
+  [DeleteWorkflow](API_DeleteWorkflow.md) 
+  [DescribeAccess](API_DescribeAccess.md) 
+  [DescribeAgreement](API_DescribeAgreement.md) 
+  [DescribeCertificate](API_DescribeCertificate.md) 
+  [DescribeConnector](API_DescribeConnector.md) 
+  [DescribeExecution](API_DescribeExecution.md) 
+  [DescribeHostKey](API_DescribeHostKey.md) 
+  [DescribeProfile](API_DescribeProfile.md) 
+  [DescribeSecurityPolicy](API_DescribeSecurityPolicy.md) 
+  [DescribeServer](API_DescribeServer.md) 
+  [DescribeUser](API_DescribeUser.md) 
+  [DescribeWebApp](API_DescribeWebApp.md) 
+  [DescribeWebAppCustomization](API_DescribeWebAppCustomization.md) 
+  [DescribeWorkflow](API_DescribeWorkflow.md) 
+  [ImportCertificate](API_ImportCertificate.md) 
+  [ImportHostKey](API_ImportHostKey.md) 
+  [ImportSshPublicKey](API_ImportSshPublicKey.md) 
+  [ListAccesses](API_ListAccesses.md) 
+  [ListAgreements](API_ListAgreements.md) 
+  [ListCertificates](API_ListCertificates.md) 
+  [ListConnectors](API_ListConnectors.md) 
+  [ListExecutions](API_ListExecutions.md) 
+  [ListFileTransferResults](API_ListFileTransferResults.md) 
+  [ListHostKeys](API_ListHostKeys.md) 
+  [ListProfiles](API_ListProfiles.md) 
+  [ListSecurityPolicies](API_ListSecurityPolicies.md) 
+  [ListServers](API_ListServers.md) 
+  [ListTagsForResource](API_ListTagsForResource.md) 
+  [ListUsers](API_ListUsers.md) 
+  [ListWebApps](API_ListWebApps.md) 
+  [ListWorkflows](API_ListWorkflows.md) 
+  [SendWorkflowStepState](API_SendWorkflowStepState.md) 
+  [StartDirectoryListing](API_StartDirectoryListing.md) 
+  [StartFileTransfer](API_StartFileTransfer.md) 
+  [StartRemoteDelete](API_StartRemoteDelete.md) 
+  [StartRemoteMove](API_StartRemoteMove.md) 
+  [StartServer](API_StartServer.md) 
+  [StopServer](API_StopServer.md) 
+  [TagResource](API_TagResource.md) 
+  [TestConnection](API_TestConnection.md) 
+  [TestIdentityProvider](API_TestIdentityProvider.md) 
+  [UntagResource](API_UntagResource.md) 
+  [UpdateAccess](API_UpdateAccess.md) 
+  [UpdateAgreement](API_UpdateAgreement.md) 
+  [UpdateCertificate](API_UpdateCertificate.md) 
+  [UpdateConnector](API_UpdateConnector.md) 
+  [UpdateHostKey](API_UpdateHostKey.md) 
+  [UpdateProfile](API_UpdateProfile.md) 
+  [UpdateServer](API_UpdateServer.md) 
+  [UpdateUser](API_UpdateUser.md) 
+  [UpdateWebApp](API_UpdateWebApp.md) 
+  [UpdateWebAppCustomization](API_UpdateWebAppCustomization.md) 

# CreateAccess
<a name="API_CreateAccess"></a>

Used by administrators to choose which groups in the directory should have access to upload and download files over the enabled protocols using AWS Transfer Family. For example, a Microsoft Active Directory might contain 50,000 users, but only a small fraction might need the ability to transfer files to the server. An administrator can use `CreateAccess` to limit the access to the correct set of users who need this ability.

## Request Syntax
<a name="API_CreateAccess_RequestSyntax"></a>

```
{
   "ExternalId": "string",
   "HomeDirectory": "string",
   "HomeDirectoryMappings": [ 
      { 
         "Entry": "string",
         "Target": "string",
         "Type": "string"
      }
   ],
   "HomeDirectoryType": "string",
   "Policy": "string",
   "PosixProfile": { 
      "Gid": number,
      "SecondaryGids": [ number ],
      "Uid": number
   },
   "Role": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_CreateAccess_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ExternalId](#API_CreateAccess_RequestSyntax) **   <a name="TransferFamily-CreateAccess-request-ExternalId"></a>
A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using AWS Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.  
 `Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid`   
In that command, replace *YourGroupName* with the name of your Active Directory group.  
The regular expression used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `S-1-[\d-]+`   
Required: Yes

 ** [HomeDirectory](#API_CreateAccess_RequestSyntax) **   <a name="TransferFamily-CreateAccess-request-HomeDirectory"></a>
The landing directory (folder) for a user when they log in to the server using the client.  
A `HomeDirectory` example is `/bucket_name/home/mydirectory`.  
You can use the `HomeDirectory` parameter for `HomeDirectoryType` when it is set to either `PATH` or `LOGICAL`.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `(|/.*)`   
Required: No

 ** [HomeDirectoryMappings](#API_CreateAccess_RequestSyntax) **   <a name="TransferFamily-CreateAccess-request-HomeDirectoryMappings"></a>
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the `Entry` and `Target` pair, where `Entry` shows how the path is made visible and `Target` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in `Target`. This value can be set only when `HomeDirectoryType` is set to *LOGICAL*.  
The following is an `Entry` and `Target` pair example.  
 `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]`   
In most cases, you can use this value instead of the session policy to lock down your user to the designated home directory ("`chroot`"). To do this, you can set `Entry` to `/` and set `Target` to the `HomeDirectory` parameter value.  
The following is an `Entry` and `Target` pair example for `chroot`.  
 `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]`   
Type: Array of [HomeDirectoryMapEntry](API_HomeDirectoryMapEntry.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50000 items.  
Required: No

 ** [HomeDirectoryType](#API_CreateAccess_RequestSyntax) **   <a name="TransferFamily-CreateAccess-request-HomeDirectoryType"></a>
The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to `PATH`, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to `LOGICAL`, you need to provide mappings in the `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon EFS paths visible to your users.  
If `HomeDirectoryType` is `LOGICAL`, you must provide mappings, using the `HomeDirectoryMappings` parameter. If, on the other hand, `HomeDirectoryType` is `PATH`, you provide an absolute path using the `HomeDirectory` parameter. You cannot have both `HomeDirectory` and `HomeDirectoryMappings` in your template.
Type: String  
Valid Values: `PATH | LOGICAL`   
Required: No

 ** [Policy](#API_CreateAccess_RequestSyntax) **   <a name="TransferFamily-CreateAccess-request-Policy"></a>
A session policy for your user so that you can use the same AWS Identity and Access Management (IAM) role across multiple users. This policy scopes down a user's access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`.  
This policy applies only when the domain of `ServerId` is Amazon S3. Amazon EFS does not use session policies.  
For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the `Policy` argument.  
For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html).  
For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the * AWS Security Token Service API Reference*.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Required: No

 ** [PosixProfile](#API_CreateAccess_RequestSyntax) **   <a name="TransferFamily-CreateAccess-request-PosixProfile"></a>
The full POSIX identity, including user ID (`Uid`), group ID (`Gid`), and any secondary groups IDs (`SecondaryGids`), that controls your users' access to your Amazon EFS file systems. The POSIX permissions that are set on files and directories in your file system determine the level of access your users get when transferring files into and out of your Amazon EFS file systems.  
Type: [PosixProfile](API_PosixProfile.md) object  
Required: No

 ** [Role](#API_CreateAccess_RequestSyntax) **   <a name="TransferFamily-CreateAccess-request-Role"></a>
The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:.*role/\S+`   
Required: Yes

 ** [ServerId](#API_CreateAccess_RequestSyntax) **   <a name="TransferFamily-CreateAccess-request-ServerId"></a>
A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_CreateAccess_ResponseSyntax"></a>

```
{
   "ExternalId": "string",
   "ServerId": "string"
}
```

## Response Elements
<a name="API_CreateAccess_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ExternalId](#API_CreateAccess_ResponseSyntax) **   <a name="TransferFamily-CreateAccess-response-ExternalId"></a>
The external identifier of the group whose users have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using AWS Transfer Family.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `S-1-[\d-]+` 

 ** [ServerId](#API_CreateAccess_ResponseSyntax) **   <a name="TransferFamily-CreateAccess-response-ServerId"></a>
The identifier of the server that the user is attached to.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

## Errors
<a name="API_CreateAccess_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_CreateAccess_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/CreateAccess) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/CreateAccess) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/CreateAccess) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/CreateAccess) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/CreateAccess) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/CreateAccess) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/CreateAccess) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/CreateAccess) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/CreateAccess) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/CreateAccess) 

# CreateAgreement
<a name="API_CreateAgreement"></a>

Creates an agreement. An agreement is a bilateral trading partner agreement, or partnership, between an AWS Transfer Family server and an AS2 process. The agreement defines the file and message transfer relationship between the server and the AS2 process. To define an agreement, Transfer Family combines a server, local profile, partner profile, certificate, and other attributes.

The partner is identified with the `PartnerProfileId`, and the AS2 process is identified with the `LocalProfileId`.

**Note**  
Specify *either* `BaseDirectory` or `CustomDirectories`, but not both. Specifying both causes the command to fail.

## Request Syntax
<a name="API_CreateAgreement_RequestSyntax"></a>

```
{
   "AccessRole": "string",
   "BaseDirectory": "string",
   "CustomDirectories": { 
      "FailedFilesDirectory": "string",
      "MdnFilesDirectory": "string",
      "PayloadFilesDirectory": "string",
      "StatusFilesDirectory": "string",
      "TemporaryFilesDirectory": "string"
   },
   "Description": "string",
   "EnforceMessageSigning": "string",
   "LocalProfileId": "string",
   "PartnerProfileId": "string",
   "PreserveFilename": "string",
   "ServerId": "string",
   "Status": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters
<a name="API_CreateAgreement_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccessRole](#API_CreateAgreement_RequestSyntax) **   <a name="TransferFamily-CreateAgreement-request-AccessRole"></a>
Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the AWS Identity and Access Management role to use.  
 **For AS2 connectors**   
With AS2, you can send files by calling `StartFileTransfer` and specifying the file paths in the request parameter, `SendFilePaths`. We use the file’s parent directory (for example, for `--send-file-paths /bucket/dir/file.txt`, parent directory is `/bucket/dir/`) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the `AccessRole` needs to provide read and write access to the parent directory of the file location used in the `StartFileTransfer` request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with `StartFileTransfer`.  
If you are using Basic authentication for your AS2 connector, the access role requires the `secretsmanager:GetSecretValue` permission for the secret. If the secret is encrypted using a customer-managed key instead of the AWS managed key in Secrets Manager, then the role also needs the `kms:Decrypt` permission for that key.  
 **For SFTP connectors**   
Make sure that the access role provides read and write access to the parent directory of the file location that's used in the `StartFileTransfer` request. Additionally, make sure that the role provides `secretsmanager:GetSecretValue` permission to AWS Secrets Manager.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:.*role/\S+`   
Required: Yes

 ** [BaseDirectory](#API_CreateAgreement_RequestSyntax) **   <a name="TransferFamily-CreateAgreement-request-BaseDirectory"></a>
The landing directory (folder) for files transferred by using the AS2 protocol.  
A `BaseDirectory` example is `/amzn-s3-demo-bucket/home/mydirectory`.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `(|/.*)`   
Required: No

 ** [CustomDirectories](#API_CreateAgreement_RequestSyntax) **   <a name="TransferFamily-CreateAgreement-request-CustomDirectories"></a>
A `CustomDirectoriesType` structure. This structure specifies custom directories for storing various AS2 message files. You can specify directories for the following types of files.  
+ Failed files
+ MDN files
+ Payload files
+ Status files
+ Temporary files
Type: [CustomDirectoriesType](API_CustomDirectoriesType.md) object  
Required: No

 ** [Description](#API_CreateAgreement_RequestSyntax) **   <a name="TransferFamily-CreateAgreement-request-Description"></a>
A name or short description to identify the agreement.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [EnforceMessageSigning](#API_CreateAgreement_RequestSyntax) **   <a name="TransferFamily-CreateAgreement-request-EnforceMessageSigning"></a>
 Determines whether or not unsigned messages from your trading partners will be accepted.   
+  `ENABLED`: Transfer Family rejects unsigned messages from your trading partner.
+  `DISABLED` (default value): Transfer Family accepts unsigned messages from your trading partner.
Type: String  
Valid Values: `ENABLED | DISABLED`   
Required: No

 ** [LocalProfileId](#API_CreateAgreement_RequestSyntax) **   <a name="TransferFamily-CreateAgreement-request-LocalProfileId"></a>
A unique identifier for the AS2 local profile.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `p-([0-9a-f]{17})`   
Required: Yes

 ** [PartnerProfileId](#API_CreateAgreement_RequestSyntax) **   <a name="TransferFamily-CreateAgreement-request-PartnerProfileId"></a>
A unique identifier for the partner profile used in the agreement.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `p-([0-9a-f]{17})`   
Required: Yes

 ** [PreserveFilename](#API_CreateAgreement_RequestSyntax) **   <a name="TransferFamily-CreateAgreement-request-PreserveFilename"></a>
 Determines whether or not Transfer Family appends a unique string of characters to the end of the AS2 message payload filename when saving it.   
+  `ENABLED`: the filename provided by your trading parter is preserved when the file is saved.
+  `DISABLED` (default value): when Transfer Family saves the file, the filename is adjusted, as described in [File names and locations](https://docs.aws.amazon.com/transfer/latest/userguide/send-as2-messages.html#file-names-as2).
Type: String  
Valid Values: `ENABLED | DISABLED`   
Required: No

 ** [ServerId](#API_CreateAgreement_RequestSyntax) **   <a name="TransferFamily-CreateAgreement-request-ServerId"></a>
A system-assigned unique identifier for a server instance. This is the specific server that the agreement uses.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

 ** [Status](#API_CreateAgreement_RequestSyntax) **   <a name="TransferFamily-CreateAgreement-request-Status"></a>
The status of the agreement. The agreement can be either `ACTIVE` or `INACTIVE`.  
Type: String  
Valid Values: `ACTIVE | INACTIVE`   
Required: No

 ** [Tags](#API_CreateAgreement_RequestSyntax) **   <a name="TransferFamily-CreateAgreement-request-Tags"></a>
Key-value pairs that can be used to group and search for agreements.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: No

## Response Syntax
<a name="API_CreateAgreement_ResponseSyntax"></a>

```
{
   "AgreementId": "string"
}
```

## Response Elements
<a name="API_CreateAgreement_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [AgreementId](#API_CreateAgreement_ResponseSyntax) **   <a name="TransferFamily-CreateAgreement-response-AgreementId"></a>
The unique identifier for the agreement. Use this ID for deleting, or updating an agreement, as well as in any other API calls that require that you specify the agreement ID.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `a-([0-9a-f]{17})` 

## Errors
<a name="API_CreateAgreement_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_CreateAgreement_Examples"></a>

### Example
<a name="API_CreateAgreement_Example_1"></a>

The following example creates an agreement, and returns the agreement ID.

```
aws transfer create-agreement --server-id s-021345abcdef6789 --local-profile-id p-1234567890abcdef0 \
    --partner-profile-id p-abcdef01234567890 --base-directory/amzn-s3-demo-bucket/AS2-files \      
    --access-role arn:aws:iam::111122223333:role/AS2-role
```

### Sample Response
<a name="API_CreateAgreement_Example_2"></a>

The API call returns the agreement ID for the new agreement.

```
{
    "AgreementId": "a-11112222333344444"
}
```

### Example
<a name="API_CreateAgreement_Example_3"></a>

The following example creates an agreement, using custom directories, and returns the agreement ID. Create a file that lists the custom directories to use for the agreement, and save it as `custom-directories.json`, then run the command that follows. (Replace the sample directories with your actual values.)

```
{
        "FailedFilesDirectory": "amzn-s3-demo-bucket/AS2-failed",
        "MdnFilesDirectory": "/amzn-s3-demo-bucket/AS2-mdn",
        "PayloadFilesDirectory": "amzn-s3-demo-bucket/AS2-payload",
        "StatusFilesDirectory": "/amzn-s3-demo-bucket/AS2-status",
        "TemporaryFilesDirectory": "amzn-s3-demo-bucket/AS2-temp"
}
```

```
aws transfer create-agreement --server-id s-021345abcdef6789 --local-profile-id p-1234567890abcdef0 \
    --partner-profile-id p-abcdef01234567890 --custom-directories file://custom-directories.json \      
    --access-role arn:aws:iam::111122223333:role/AS2-role
```

### Sample Response
<a name="API_CreateAgreement_Example_4"></a>

The API call returns the agreement ID for the new agreement.

```
{
    "AgreementId": "a-11112222333344444"
}
```

## See Also
<a name="API_CreateAgreement_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/CreateAgreement) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/CreateAgreement) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/CreateAgreement) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/CreateAgreement) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/CreateAgreement) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/CreateAgreement) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/CreateAgreement) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/CreateAgreement) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/CreateAgreement) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/CreateAgreement) 

# CreateConnector
<a name="API_CreateConnector"></a>

Creates the connector, which captures the parameters for a connection for the AS2 or SFTP protocol. For AS2, the connector is required for sending files to an externally hosted AS2 server. For SFTP, the connector is required when sending files to an SFTP server or receiving files from an SFTP server. For more details about connectors, see [Configure AS2 connectors](https://docs.aws.amazon.com/transfer/latest/userguide/configure-as2-connector.html) and [Create SFTP connectors](https://docs.aws.amazon.com/transfer/latest/userguide/configure-sftp-connector.html).

**Note**  
You must specify exactly one configuration object: either for AS2 (`As2Config`) or SFTP (`SftpConfig`).

## Request Syntax
<a name="API_CreateConnector_RequestSyntax"></a>

```
{
   "AccessRole": "string",
   "As2Config": { 
      "AsyncMdnConfig": { 
         "ServerIds": [ "string" ],
         "Url": "string"
      },
      "BasicAuthSecretId": "string",
      "Compression": "string",
      "EncryptionAlgorithm": "string",
      "LocalProfileId": "string",
      "MdnResponse": "string",
      "MdnSigningAlgorithm": "string",
      "MessageSubject": "string",
      "PartnerProfileId": "string",
      "PreserveContentType": "string",
      "SigningAlgorithm": "string"
   },
   "EgressConfig": { ... },
   "LoggingRole": "string",
   "SecurityPolicyName": "string",
   "SftpConfig": { 
      "MaxConcurrentConnections": number,
      "TrustedHostKeys": [ "string" ],
      "UserSecretId": "string"
   },
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "Url": "string"
}
```

## Request Parameters
<a name="API_CreateConnector_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccessRole](#API_CreateConnector_RequestSyntax) **   <a name="TransferFamily-CreateConnector-request-AccessRole"></a>
Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the AWS Identity and Access Management role to use.  
 **For AS2 connectors**   
With AS2, you can send files by calling `StartFileTransfer` and specifying the file paths in the request parameter, `SendFilePaths`. We use the file’s parent directory (for example, for `--send-file-paths /bucket/dir/file.txt`, parent directory is `/bucket/dir/`) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the `AccessRole` needs to provide read and write access to the parent directory of the file location used in the `StartFileTransfer` request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with `StartFileTransfer`.  
If you are using Basic authentication for your AS2 connector, the access role requires the `secretsmanager:GetSecretValue` permission for the secret. If the secret is encrypted using a customer-managed key instead of the AWS managed key in Secrets Manager, then the role also needs the `kms:Decrypt` permission for that key.  
 **For SFTP connectors**   
Make sure that the access role provides read and write access to the parent directory of the file location that's used in the `StartFileTransfer` request. Additionally, make sure that the role provides `secretsmanager:GetSecretValue` permission to AWS Secrets Manager.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:.*role/\S+`   
Required: Yes

 ** [As2Config](#API_CreateConnector_RequestSyntax) **   <a name="TransferFamily-CreateConnector-request-As2Config"></a>
A structure that contains the parameters for an AS2 connector object.  
Type: [As2ConnectorConfig](API_As2ConnectorConfig.md) object  
Required: No

 ** [EgressConfig](#API_CreateConnector_RequestSyntax) **   <a name="TransferFamily-CreateConnector-request-EgressConfig"></a>
Specifies the egress configuration for the connector, which determines how traffic is routed from the connector to the SFTP server. When set to VPC, enables routing through customer VPCs using VPC\$1LATTICE for private connectivity.  
Type: [ConnectorEgressConfig](API_ConnectorEgressConfig.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.  
Required: No

 ** [LoggingRole](#API_CreateConnector_RequestSyntax) **   <a name="TransferFamily-CreateConnector-request-LoggingRole"></a>
The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:.*role/\S+`   
Required: No

 ** [SecurityPolicyName](#API_CreateConnector_RequestSyntax) **   <a name="TransferFamily-CreateConnector-request-SecurityPolicyName"></a>
Specifies the name of the security policy for the connector.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 100.  
Pattern: `TransferSFTPConnectorSecurityPolicy-[A-Za-z0-9-]+`   
Required: No

 ** [SftpConfig](#API_CreateConnector_RequestSyntax) **   <a name="TransferFamily-CreateConnector-request-SftpConfig"></a>
A structure that contains the parameters for an SFTP connector object.  
Type: [SftpConnectorConfig](API_SftpConnectorConfig.md) object  
Required: No

 ** [Tags](#API_CreateConnector_RequestSyntax) **   <a name="TransferFamily-CreateConnector-request-Tags"></a>
Key-value pairs that can be used to group and search for connectors. Tags are metadata attached to connectors for any purpose.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: No

 ** [Url](#API_CreateConnector_RequestSyntax) **   <a name="TransferFamily-CreateConnector-request-Url"></a>
The URL of the partner's AS2 or SFTP endpoint.  
When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 255.  
Required: No

## Response Syntax
<a name="API_CreateConnector_ResponseSyntax"></a>

```
{
   "ConnectorId": "string"
}
```

## Response Elements
<a name="API_CreateConnector_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ConnectorId](#API_CreateConnector_ResponseSyntax) **   <a name="TransferFamily-CreateConnector-response-ConnectorId"></a>
The unique identifier for the connector, returned after the API call succeeds.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})` 

## Errors
<a name="API_CreateConnector_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_CreateConnector_Examples"></a>

### Example
<a name="API_CreateConnector_Example_1"></a>

The following example creates an AS2 connector. In the command, replace items as follows:
+  `url`: provide the URL for the trading partner's AS2 server.
+  `your-IAM-role-for-bucket-access`: an IAM role that has access to the Amazon S3 bucket you are using to store your files.
+ Use the ARN for your logging role, which includes your AWS account ID.
+ Provide a path to a file that contains the AS2 connector configuration parameters. The AS2 connector configuration object is described in [As2ConnectorConfig](https://docs.aws.amazon.com/transfer/latest/userguide/API_As2ConnectorConfig).

```
// Listing for testAs2Config.json
{
  "LocalProfileId": "your-profile-id",
  "PartnerProfileId": "partner-profile-id",
  "MdnResponse": "SYNC",
  "Compression": "ZLIB",
  "EncryptionAlgorithm": "AES256_CBC",
  "SigningAlgorithm": "SHA256",
  "MdnSigningAlgorithm": "DEFAULT",
  "MessageSubject": "Your Message Subject"
}
```

```
aws transfer create-connector --url "http://partner-as2-server-url" \
          --access-role your-IAM-role-for-bucket-access \
          --logging-role arn:aws:iam::your-account-id:role/service-role/AWSTransferLoggingAccess \
          --as2-config file://path/to/testAS2Config.json
```

### Example
<a name="API_CreateConnector_Example_2"></a>

The following example creates an SFTP connector. In the command, replace items as follows:
+  `sftp-server-url`: provide the URL for the SFTP server with which you are exchanging files.
+  `your-IAM-role-for-bucket-access`: an IAM role that has access to the Amazon S3 bucket you are using to store your files.
+ Use the ARN for your logging role, which includes your AWS account ID.
+ Provide a path to a file that contains the SFTP connector configuration parameters. The SFTP connector configuration object is described in [SftpConnectorConfig](https://docs.aws.amazon.com/transfer/latest/userguide/API_SftpConnectorConfig).

```
// Listing for testSFTPConfig.json
{   
   "UserSecretId": "arn:aws:secretsmanager:us-east-2:123456789012:secret:aws/transfer/example-username-key",
   "TrustedHostKeys": [
      "sftp.example.com ssh-rsa AAAAbbbb...EEEE="
   ]
}
```

```
aws transfer create-connector --url "sftp://sftp-server-url" \
--access-role your-IAM-role-for-bucket-access \
--logging-role arn:aws:iam::your-account-id:role/service-role/AWSTransferLoggingAccess \
--sftp-config file://path/to/testSFTPConfig.json
```

### Example
<a name="API_CreateConnector_Example_3"></a>

The API call returns the connector ID for the new connector.

#### Sample Response
<a name="API_CreateConnector_Example_3_Response"></a>

```
{
    "ConnectorId": "c-11112222333344444"
}
```

## See Also
<a name="API_CreateConnector_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/CreateConnector) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/CreateConnector) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/CreateConnector) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/CreateConnector) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/CreateConnector) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/CreateConnector) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/CreateConnector) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/CreateConnector) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/CreateConnector) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/CreateConnector) 

# CreateProfile
<a name="API_CreateProfile"></a>

Creates the local or partner profile to use for AS2 transfers.

## Request Syntax
<a name="API_CreateProfile_RequestSyntax"></a>

```
{
   "As2Id": "string",
   "CertificateIds": [ "string" ],
   "ProfileType": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters
<a name="API_CreateProfile_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [As2Id](#API_CreateProfile_RequestSyntax) **   <a name="TransferFamily-CreateProfile-request-As2Id"></a>
The `As2Id` is the *AS2-name*, as defined in the [RFC 4130](https://datatracker.ietf.org/doc/html/rfc4130). For inbound transfers, this is the `AS2-From` header for the AS2 messages sent from the partner. For outbound connectors, this is the `AS2-To` header for the AS2 messages sent to the partner using the `StartFileTransfer` API operation. This ID cannot include spaces.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\u0020-\u007E\s]*`   
Required: Yes

 ** [CertificateIds](#API_CreateProfile_RequestSyntax) **   <a name="TransferFamily-CreateProfile-request-CertificateIds"></a>
An array of identifiers for the imported certificates. You use this identifier for working with profiles and partner profiles.  
Type: Array of strings  
Length Constraints: Fixed length of 22.  
Pattern: `cert-([0-9a-f]{17})`   
Required: No

 ** [ProfileType](#API_CreateProfile_RequestSyntax) **   <a name="TransferFamily-CreateProfile-request-ProfileType"></a>
Determines the type of profile to create:  
+ Specify `LOCAL` to create a local profile. A local profile represents the AS2-enabled Transfer Family server organization or party.
+ Specify `PARTNER` to create a partner profile. A partner profile represents a remote organization, external to Transfer Family.
Type: String  
Valid Values: `LOCAL | PARTNER`   
Required: Yes

 ** [Tags](#API_CreateProfile_RequestSyntax) **   <a name="TransferFamily-CreateProfile-request-Tags"></a>
Key-value pairs that can be used to group and search for AS2 profiles.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: No

## Response Syntax
<a name="API_CreateProfile_ResponseSyntax"></a>

```
{
   "ProfileId": "string"
}
```

## Response Elements
<a name="API_CreateProfile_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ProfileId](#API_CreateProfile_ResponseSyntax) **   <a name="TransferFamily-CreateProfile-response-ProfileId"></a>
The unique identifier for the AS2 profile, returned after the API call succeeds.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `p-([0-9a-f]{17})` 

## Errors
<a name="API_CreateProfile_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_CreateProfile_Examples"></a>

### Example
<a name="API_CreateProfile_Example_1"></a>

The following example creates a profile, and returns the profile ID.

The certificate IDs are created when you run `import-certificate`, one for the signing certificate, and one for the encryption certificate.

```
aws transfer create-profile --as2-id MYCORP --certificate-ids c-abcdefg123456hijk
               c-987654aaaa321bbbb
```

### Sample Response
<a name="API_CreateProfile_Example_2"></a>

The API call returns the profile ID for the new profile.

```
{
    "ProfileId": "p-11112222333344444"
}
```

## See Also
<a name="API_CreateProfile_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/CreateProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/CreateProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/CreateProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/CreateProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/CreateProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/CreateProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/CreateProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/CreateProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/CreateProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/CreateProfile) 

# CreateServer
<a name="API_CreateServer"></a>

Instantiates an auto-scaling virtual server based on the selected file transfer protocol in AWS. When you make updates to your file transfer protocol-enabled server or when you work with users, use the service-generated `ServerId` property that is assigned to the newly created server.

## Request Syntax
<a name="API_CreateServer_RequestSyntax"></a>

```
{
   "Certificate": "string",
   "Domain": "string",
   "EndpointDetails": { 
      "AddressAllocationIds": [ "string" ],
      "SecurityGroupIds": [ "string" ],
      "SubnetIds": [ "string" ],
      "VpcEndpointId": "string",
      "VpcId": "string"
   },
   "EndpointType": "string",
   "HostKey": "string",
   "IdentityProviderDetails": { 
      "DirectoryId": "string",
      "Function": "string",
      "InvocationRole": "string",
      "SftpAuthenticationMethods": "string",
      "Url": "string"
   },
   "IdentityProviderType": "string",
   "IpAddressType": "string",
   "LoggingRole": "string",
   "PostAuthenticationLoginBanner": "string",
   "PreAuthenticationLoginBanner": "string",
   "ProtocolDetails": { 
      "As2Transports": [ "string" ],
      "PassiveIp": "string",
      "SetStatOption": "string",
      "TlsSessionResumptionMode": "string"
   },
   "Protocols": [ "string" ],
   "S3StorageOptions": { 
      "DirectoryListingOptimization": "string"
   },
   "SecurityPolicyName": "string",
   "StructuredLogDestinations": [ "string" ],
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "WorkflowDetails": { 
      "OnPartialUpload": [ 
         { 
            "ExecutionRole": "string",
            "WorkflowId": "string"
         }
      ],
      "OnUpload": [ 
         { 
            "ExecutionRole": "string",
            "WorkflowId": "string"
         }
      ]
   }
}
```

## Request Parameters
<a name="API_CreateServer_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Certificate](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-Certificate"></a>
The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS`.  
To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the * AWS Certificate Manager User Guide*.  
To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the * AWS Certificate Manager User Guide*.  
To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the * AWS Certificate Manager User Guide*.  
Certificates with the following cryptographic algorithms and key sizes are supported:  
+ 2048-bit RSA (RSA\$12048)
+ 4096-bit RSA (RSA\$14096)
+ Elliptic Prime Curve 256 bit (EC\$1prime256v1)
+ Elliptic Prime Curve 384 bit (EC\$1secp384r1)
+ Elliptic Prime Curve 521 bit (EC\$1secp521r1)
The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1600.  
Required: No

 ** [Domain](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-Domain"></a>
The domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3.  
After the server is created, the domain cannot be changed.
Type: String  
Valid Values: `S3 | EFS`   
Required: No

 ** [EndpointDetails](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-EndpointDetails"></a>
The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.  
Type: [EndpointDetails](API_EndpointDetails.md) object  
Required: No

 ** [EndpointType](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-EndpointType"></a>
The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.  
 After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType`=`VPC`.  
For more information, see [Discontinuing the use of VPC\$1ENDPOINT](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint).  
It is recommended that you use `VPC` as the `EndpointType`. With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT`.
Type: String  
Valid Values: `PUBLIC | VPC | VPC_ENDPOINT`   
Required: No

 ** [HostKey](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-HostKey"></a>
The RSA, ECDSA, or ED25519 private key to use for your SFTP-enabled server. You can add multiple host keys, in case you want to rotate keys, or have a set of active keys that use different algorithms.  
Use the following command to generate an RSA 2048 bit key with no passphrase:  
 `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`.  
Use a minimum value of 2048 for the `-b` option. You can create a stronger key by using 3072 or 4096.  
Use the following command to generate an ECDSA 256 bit key with no passphrase:  
 `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key`.  
Valid values for the `-b` option for ECDSA are 256, 384, and 521.  
Use the following command to generate an ED25519 key with no passphrase:  
 `ssh-keygen -t ed25519 -N "" -f my-new-server-key`.  
For all of these commands, you can replace *my-new-server-key* with a string of your choice.  
If you aren't planning to migrate existing users from an existing SFTP-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.
For more information, see [Update host keys for your SFTP-enabled server](https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key) in the * AWS Transfer Family User Guide*.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 4096.  
Required: No

 ** [IdentityProviderDetails](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-IdentityProviderDetails"></a>
Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE`, ` AWS_LAMBDA` or `API_GATEWAY`. Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED`.  
Type: [IdentityProviderDetails](API_IdentityProviderDetails.md) object  
Required: No

 ** [IdentityProviderType](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-IdentityProviderType"></a>
The mode of authentication for a server. The default value is `SERVICE_MANAGED`, which allows you to store and access user credentials within the AWS Transfer Family service.  
Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter.  
Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter.  
Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type.  
Type: String  
Valid Values: `SERVICE_MANAGED | API_GATEWAY | AWS_DIRECTORY_SERVICE | AWS_LAMBDA`   
Required: No

 ** [IpAddressType](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-IpAddressType"></a>
Specifies whether to use IPv4 only, or to use dual-stack (IPv4 and IPv6) for your AWS Transfer Family endpoint. The default value is `IPV4`.  
The `IpAddressType` parameter has the following limitations:  
+ It cannot be changed while the server is online. You must stop the server before modifying this parameter.
+ It cannot be updated to `DUALSTACK` if the server has `AddressAllocationIds` specified.
When using `DUALSTACK` as the `IpAddressType`, you cannot set the `AddressAllocationIds` parameter for the [EndpointDetails](https://docs.aws.amazon.com/transfer/latest/APIReference/API_EndpointDetails.html) for the server.
Type: String  
Valid Values: `IPV4 | DUALSTACK`   
Required: No

 ** [LoggingRole](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-LoggingRole"></a>
The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, you can view user activity in your CloudWatch logs.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `(|arn:.*role/\S+)`   
Required: No

 ** [PostAuthenticationLoginBanner](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-PostAuthenticationLoginBanner"></a>
Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.  
The SFTP protocol does not support post-authentication display banners.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 4096.  
Pattern: `[\x09-\x0D\x20-\x7E]*`   
Required: No

 ** [PreAuthenticationLoginBanner](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-PreAuthenticationLoginBanner"></a>
Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:  
 `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.`   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 4096.  
Pattern: `[\x09-\x0D\x20-\x7E]*`   
Required: No

 ** [ProtocolDetails](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-ProtocolDetails"></a>
The protocol settings that are configured for your server.  
Avoid placing Network Load Balancers (NLBs) or NAT gateways in front of AWS Transfer Family servers, as this increases costs and can cause performance issues, including reduced connection limits for FTPS. For more details, see [ Avoid placing NLBs and NATs in front of AWS Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations).
+  To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. 
+ To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP`. If you set the `SetStatOption` parameter to `ENABLE_NO_OP`, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call.
+ To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter.
+  `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported.
Type: [ProtocolDetails](API_ProtocolDetails.md) object  
Required: No

 ** [Protocols](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-Protocols"></a>
Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:  
+  `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH
+  `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption
+  `FTP` (File Transfer Protocol): Unencrypted file transfer
+  `AS2` (Applicability Statement 2): used for transporting structured business-to-business data
+ If you select `FTPS`, you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.
+ If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE`, `AWS_LAMBDA`, or `API_GATEWAY`.
+ If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be associated.
+ If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED`, `AWS_DIRECTORY_SERVICE`, `AWS_LAMBDA`, or `API_GATEWAY`.
+ If `Protocol` includes `AS2`, then the `EndpointType` must be `VPC`, and domain must be Amazon S3.
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 4 items.  
Valid Values: `SFTP | FTP | FTPS | AS2`   
Required: No

 ** [S3StorageOptions](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-S3StorageOptions"></a>
Specifies whether or not performance for your Amazon S3 directories is optimized.  
+ If using the console, this is enabled by default.
+ If using the API or CLI, this is disabled by default.
By default, home directory mappings have a `TYPE` of `DIRECTORY`. If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target.  
Type: [S3StorageOptions](API_S3StorageOptions.md) object  
Required: No

 ** [SecurityPolicyName](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-SecurityPolicyName"></a>
Specifies the name of the security policy for the server.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 100.  
Pattern: `Transfer[A-Za-z0-9]*SecurityPolicy-[A-Za-z0-9-]+`   
Required: No

 ** [StructuredLogDestinations](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-StructuredLogDestinations"></a>
Specifies the log groups to which your server logs are sent.  
To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows:  
 `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*`   
For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*`   
If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example:  
 `update-server --server-id s-1234567890abcdef0 --structured-log-destinations`   
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 1 item.  
Length Constraints: Minimum length of 20. Maximum length of 1600.  
Pattern: `arn:\S+`   
Required: No

 ** [Tags](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-Tags"></a>
Key-value pairs that can be used to group and search for servers.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: No

 ** [WorkflowDetails](#API_CreateServer_RequestSyntax) **   <a name="TransferFamily-CreateServer-request-WorkflowDetails"></a>
Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.  
In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when the server session disconnects while the file is still being uploaded.  
Type: [WorkflowDetails](API_WorkflowDetails.md) object  
Required: No

## Response Syntax
<a name="API_CreateServer_ResponseSyntax"></a>

```
{
   "ServerId": "string"
}
```

## Response Elements
<a name="API_CreateServer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ServerId](#API_CreateServer_ResponseSyntax) **   <a name="TransferFamily-CreateServer-response-ServerId"></a>
The service-assigned identifier of the server that is created.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

## Errors
<a name="API_CreateServer_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_CreateServer_Examples"></a>

### Example
<a name="API_CreateServer_Example_1"></a>

The following example creates a new server using a `VPC_ENDPOINT`.

#### Sample Request
<a name="API_CreateServer_Example_1_Request"></a>

```
{     
   "EndpointType": "VPC",
   "EndpointDetails":...,
   "HostKey": "Your RSA private key",
   "IdentityProviderDetails": "IdentityProvider",
   "IdentityProviderType": "SERVICE_MANAGED",
   "LoggingRole": "CloudWatchLoggingRole",
   "Tags": [ 
      { 
         "Key": "Name",
         "Value": "MyServer"
      }
   ]
}
```

### Example
<a name="API_CreateServer_Example_2"></a>

This is a sample response for this API call.

#### Sample Response
<a name="API_CreateServer_Example_2_Response"></a>

```
{
   "ServerId": "s-01234567890abcdef"
}
```

## See Also
<a name="API_CreateServer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/CreateServer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/CreateServer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/CreateServer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/CreateServer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/CreateServer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/CreateServer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/CreateServer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/CreateServer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/CreateServer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/CreateServer) 

# CreateUser
<a name="API_CreateUser"></a>

Creates a user and associates them with an existing file transfer protocol-enabled server. You can only create and associate users with servers that have the `IdentityProviderType` set to `SERVICE_MANAGED`. Using parameters for `CreateUser`, you can specify the user name, set the home directory, store the user's public key, and assign the user's AWS Identity and Access Management (IAM) role. You can also optionally add a session policy, and assign metadata with tags that can be used to group and search for users.

## Request Syntax
<a name="API_CreateUser_RequestSyntax"></a>

```
{
   "HomeDirectory": "string",
   "HomeDirectoryMappings": [ 
      { 
         "Entry": "string",
         "Target": "string",
         "Type": "string"
      }
   ],
   "HomeDirectoryType": "string",
   "Policy": "string",
   "PosixProfile": { 
      "Gid": number,
      "SecondaryGids": [ number ],
      "Uid": number
   },
   "Role": "string",
   "ServerId": "string",
   "SshPublicKeyBody": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "UserName": "string"
}
```

## Request Parameters
<a name="API_CreateUser_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [HomeDirectory](#API_CreateUser_RequestSyntax) **   <a name="TransferFamily-CreateUser-request-HomeDirectory"></a>
The landing directory (folder) for a user when they log in to the server using the client.  
A `HomeDirectory` example is `/bucket_name/home/mydirectory`.  
You can use the `HomeDirectory` parameter for `HomeDirectoryType` when it is set to either `PATH` or `LOGICAL`.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `(|/.*)`   
Required: No

 ** [HomeDirectoryMappings](#API_CreateUser_RequestSyntax) **   <a name="TransferFamily-CreateUser-request-HomeDirectoryMappings"></a>
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the `Entry` and `Target` pair, where `Entry` shows how the path is made visible and `Target` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in `Target`. This value can be set only when `HomeDirectoryType` is set to *LOGICAL*.  
The following is an `Entry` and `Target` pair example.  
 `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]`   
In most cases, you can use this value instead of the session policy to lock your user down to the designated home directory ("`chroot`"). To do this, you can set `Entry` to `/` and set `Target` to the value the user should see for their home directory when they log in.  
The following is an `Entry` and `Target` pair example for `chroot`.  
 `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]`   
Type: Array of [HomeDirectoryMapEntry](API_HomeDirectoryMapEntry.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50000 items.  
Required: No

 ** [HomeDirectoryType](#API_CreateUser_RequestSyntax) **   <a name="TransferFamily-CreateUser-request-HomeDirectoryType"></a>
The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to `PATH`, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to `LOGICAL`, you need to provide mappings in the `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon EFS paths visible to your users.  
If `HomeDirectoryType` is `LOGICAL`, you must provide mappings, using the `HomeDirectoryMappings` parameter. If, on the other hand, `HomeDirectoryType` is `PATH`, you provide an absolute path using the `HomeDirectory` parameter. You cannot have both `HomeDirectory` and `HomeDirectoryMappings` in your template.
Type: String  
Valid Values: `PATH | LOGICAL`   
Required: No

 ** [Policy](#API_CreateUser_RequestSyntax) **   <a name="TransferFamily-CreateUser-request-Policy"></a>
A session policy for your user so that you can use the same AWS Identity and Access Management (IAM) role across multiple users. This policy scopes down a user's access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`.  
This policy applies only when the domain of `ServerId` is Amazon S3. Amazon EFS does not use session policies.  
For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the `Policy` argument.  
For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html).  
For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the * AWS Security Token Service API Reference*.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Required: No

 ** [PosixProfile](#API_CreateUser_RequestSyntax) **   <a name="TransferFamily-CreateUser-request-PosixProfile"></a>
Specifies the full POSIX identity, including user ID (`Uid`), group ID (`Gid`), and any secondary groups IDs (`SecondaryGids`), that controls your users' access to your Amazon EFS file systems. The POSIX permissions that are set on files and directories in Amazon EFS determine the level of access your users get when transferring files into and out of your Amazon EFS file systems.  
Type: [PosixProfile](API_PosixProfile.md) object  
Required: No

 ** [Role](#API_CreateUser_RequestSyntax) **   <a name="TransferFamily-CreateUser-request-Role"></a>
The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:.*role/\S+`   
Required: Yes

 ** [ServerId](#API_CreateUser_RequestSyntax) **   <a name="TransferFamily-CreateUser-request-ServerId"></a>
A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

 ** [SshPublicKeyBody](#API_CreateUser_RequestSyntax) **   <a name="TransferFamily-CreateUser-request-SshPublicKeyBody"></a>
The public portion of the Secure Shell (SSH) key used to authenticate the user to the server.  
The three standard SSH public key format elements are `<key type>`, `<body base64>`, and an optional `<comment>`, with spaces between each element.  
 AWS Transfer Family accepts RSA, ECDSA, and ED25519 keys.  
+ For RSA keys, the key type is `ssh-rsa`.
+ For ED25519 keys, the key type is `ssh-ed25519`.
+ For ECDSA keys, the key type is either `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`, depending on the size of the key you generated.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `\s*(ssh|ecdsa)-[a-z0-9-]+[ \t]+(([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{1,3})?(={0,3})?)(\s*|[ \t]+[\S \t]*\s*)`   
Required: No

 ** [Tags](#API_CreateUser_RequestSyntax) **   <a name="TransferFamily-CreateUser-request-Tags"></a>
Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: No

 ** [UserName](#API_CreateUser_RequestSyntax) **   <a name="TransferFamily-CreateUser-request-UserName"></a>
A unique string that identifies a user and is associated with a `ServerId`. This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '\$1', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 100.  
Pattern: `[\w][\w@.-]{2,99}`   
Required: Yes

## Response Syntax
<a name="API_CreateUser_ResponseSyntax"></a>

```
{
   "ServerId": "string",
   "UserName": "string"
}
```

## Response Elements
<a name="API_CreateUser_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ServerId](#API_CreateUser_ResponseSyntax) **   <a name="TransferFamily-CreateUser-response-ServerId"></a>
The identifier of the server that the user is attached to.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

 ** [UserName](#API_CreateUser_ResponseSyntax) **   <a name="TransferFamily-CreateUser-response-UserName"></a>
A unique string that identifies a Transfer Family user.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 100.  
Pattern: `[\w][\w@.-]{2,99}` 

## Errors
<a name="API_CreateUser_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_CreateUser_Examples"></a>

### Example
<a name="API_CreateUser_Example_1"></a>

To create a user, you can first save the parameters into a JSON file, for example `createUserParameters`, then run the create-user API command.

```
{
    "HomeDirectory": "/amzn-s3-demo-bucket",
    "HomeDirectoryType": "PATH",
    "Role": "arn:aws:iam::111122223333:role/bob-role",
    "ServerId": "s-1111aaaa2222bbbb3",
    "SshPublicKeyBody": "ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA... bobusa@mycomputer.us-east-1.amazon.com",
    "UserName": "bobusa-API"
}
```

#### Sample Request
<a name="API_CreateUser_Example_1_Request"></a>

```
aws transfer create-user --cli-input-json file://createUserParameters
```

#### Sample Response
<a name="API_CreateUser_Example_1_Response"></a>

```
{
    "ServerId": ""s-1111aaaa2222bbbb3",
    "UserName": "bobusa-API"
}
```

## See Also
<a name="API_CreateUser_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/CreateUser) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/CreateUser) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/CreateUser) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/CreateUser) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/CreateUser) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/CreateUser) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/CreateUser) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/CreateUser) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/CreateUser) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/CreateUser) 

# CreateWebApp
<a name="API_CreateWebApp"></a>

Creates a web app based on specified parameters, and returns the ID for the new web app. You can configure the web app to be publicly accessible or hosted within a VPC.

For more information about using VPC endpoints with AWS Transfer Family, see [Create a Transfer Family web app in a VPC](https://docs.aws.amazon.com/transfer/latest/userguide/create-webapp-in-vpc.html).

## Request Syntax
<a name="API_CreateWebApp_RequestSyntax"></a>

```
{
   "AccessEndpoint": "string",
   "EndpointDetails": { ... },
   "IdentityProviderDetails": { ... },
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "WebAppEndpointPolicy": "string",
   "WebAppUnits": { ... }
}
```

## Request Parameters
<a name="API_CreateWebApp_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccessEndpoint](#API_CreateWebApp_RequestSyntax) **   <a name="TransferFamily-CreateWebApp-request-AccessEndpoint"></a>
The `AccessEndpoint` is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.  
Before you enter a custom URL for this parameter, follow the steps described in [Update your access endpoint with a custom URL](https://docs.aws.amazon.com/transfer/latest/userguide/webapp-customize.html).  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Required: No

 ** [EndpointDetails](#API_CreateWebApp_RequestSyntax) **   <a name="TransferFamily-CreateWebApp-request-EndpointDetails"></a>
The endpoint configuration for the web app. You can specify whether the web app endpoint is publicly accessible or hosted within a VPC.  
Type: [WebAppEndpointDetails](API_WebAppEndpointDetails.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.  
Required: No

 ** [IdentityProviderDetails](#API_CreateWebApp_RequestSyntax) **   <a name="TransferFamily-CreateWebApp-request-IdentityProviderDetails"></a>
You can provide a structure that contains the details for the identity provider to use with your web app.  
For more details about this parameter, see [Configure your identity provider for Transfer Family web apps](https://docs.aws.amazon.com/transfer/latest/userguide/webapp-identity-center.html).  
Type: [WebAppIdentityProviderDetails](API_WebAppIdentityProviderDetails.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.  
Required: Yes

 ** [Tags](#API_CreateWebApp_RequestSyntax) **   <a name="TransferFamily-CreateWebApp-request-Tags"></a>
Key-value pairs that can be used to group and search for web apps.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: No

 ** [WebAppEndpointPolicy](#API_CreateWebApp_RequestSyntax) **   <a name="TransferFamily-CreateWebApp-request-WebAppEndpointPolicy"></a>
 Setting for the type of endpoint policy for the web app. The default value is `STANDARD`.   
If you are creating the web app in an AWS GovCloud (US) Region, you can set this parameter to `FIPS`.  
Type: String  
Valid Values: `FIPS | STANDARD`   
Required: No

 ** [WebAppUnits](#API_CreateWebApp_RequestSyntax) **   <a name="TransferFamily-CreateWebApp-request-WebAppUnits"></a>
A union that contains the value for number of concurrent connections or the user sessions on your web app.  
Type: [WebAppUnits](API_WebAppUnits.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.  
Required: No

## Response Syntax
<a name="API_CreateWebApp_ResponseSyntax"></a>

```
{
   "WebAppId": "string"
}
```

## Response Elements
<a name="API_CreateWebApp_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [WebAppId](#API_CreateWebApp_ResponseSyntax) **   <a name="TransferFamily-CreateWebApp-response-WebAppId"></a>
Returns a unique identifier for the web app.  
Type: String  
Length Constraints: Fixed length of 24.  
Pattern: `webapp-[0-9a-f]{17}` 

## Errors
<a name="API_CreateWebApp_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_CreateWebApp_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/CreateWebApp) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/CreateWebApp) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/CreateWebApp) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/CreateWebApp) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/CreateWebApp) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/CreateWebApp) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/CreateWebApp) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/CreateWebApp) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/CreateWebApp) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/CreateWebApp) 

# CreateWorkflow
<a name="API_CreateWorkflow"></a>

 Allows you to create a workflow with specified steps and step details the workflow invokes after file transfer completes. After creating a workflow, you can associate the workflow created with any transfer servers by specifying the `workflow-details` field in `CreateServer` and `UpdateServer` operations. 

## Request Syntax
<a name="API_CreateWorkflow_RequestSyntax"></a>

```
{
   "Description": "string",
   "OnExceptionSteps": [ 
      { 
         "CopyStepDetails": { 
            "DestinationFileLocation": { 
               "EfsFileLocation": { 
                  "FileSystemId": "string",
                  "Path": "string"
               },
               "S3FileLocation": { 
                  "Bucket": "string",
                  "Key": "string"
               }
            },
            "Name": "string",
            "OverwriteExisting": "string",
            "SourceFileLocation": "string"
         },
         "CustomStepDetails": { 
            "Name": "string",
            "SourceFileLocation": "string",
            "Target": "string",
            "TimeoutSeconds": number
         },
         "DecryptStepDetails": { 
            "DestinationFileLocation": { 
               "EfsFileLocation": { 
                  "FileSystemId": "string",
                  "Path": "string"
               },
               "S3FileLocation": { 
                  "Bucket": "string",
                  "Key": "string"
               }
            },
            "Name": "string",
            "OverwriteExisting": "string",
            "SourceFileLocation": "string",
            "Type": "string"
         },
         "DeleteStepDetails": { 
            "Name": "string",
            "SourceFileLocation": "string"
         },
         "TagStepDetails": { 
            "Name": "string",
            "SourceFileLocation": "string",
            "Tags": [ 
               { 
                  "Key": "string",
                  "Value": "string"
               }
            ]
         },
         "Type": "string"
      }
   ],
   "Steps": [ 
      { 
         "CopyStepDetails": { 
            "DestinationFileLocation": { 
               "EfsFileLocation": { 
                  "FileSystemId": "string",
                  "Path": "string"
               },
               "S3FileLocation": { 
                  "Bucket": "string",
                  "Key": "string"
               }
            },
            "Name": "string",
            "OverwriteExisting": "string",
            "SourceFileLocation": "string"
         },
         "CustomStepDetails": { 
            "Name": "string",
            "SourceFileLocation": "string",
            "Target": "string",
            "TimeoutSeconds": number
         },
         "DecryptStepDetails": { 
            "DestinationFileLocation": { 
               "EfsFileLocation": { 
                  "FileSystemId": "string",
                  "Path": "string"
               },
               "S3FileLocation": { 
                  "Bucket": "string",
                  "Key": "string"
               }
            },
            "Name": "string",
            "OverwriteExisting": "string",
            "SourceFileLocation": "string",
            "Type": "string"
         },
         "DeleteStepDetails": { 
            "Name": "string",
            "SourceFileLocation": "string"
         },
         "TagStepDetails": { 
            "Name": "string",
            "SourceFileLocation": "string",
            "Tags": [ 
               { 
                  "Key": "string",
                  "Value": "string"
               }
            ]
         },
         "Type": "string"
      }
   ],
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters
<a name="API_CreateWorkflow_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Description](#API_CreateWorkflow_RequestSyntax) **   <a name="TransferFamily-CreateWorkflow-request-Description"></a>
A textual description for the workflow.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 256.  
Pattern: `[\w- ]*`   
Required: No

 ** [OnExceptionSteps](#API_CreateWorkflow_RequestSyntax) **   <a name="TransferFamily-CreateWorkflow-request-OnExceptionSteps"></a>
Specifies the steps (actions) to take if errors are encountered during execution of the workflow.  
For custom steps, the Lambda function needs to send `FAILURE` to the call back API to kick off the exception steps. Additionally, if the Lambda does not send `SUCCESS` before it times out, the exception steps are executed.
Type: Array of [WorkflowStep](API_WorkflowStep.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 8 items.  
Required: No

 ** [Steps](#API_CreateWorkflow_RequestSyntax) **   <a name="TransferFamily-CreateWorkflow-request-Steps"></a>
Specifies the details for the steps that are in the specified workflow.  
 The `TYPE` specifies which of the following actions is being taken for this step.   
+  ** `COPY` ** - Copy the file to another location.
+  ** `CUSTOM` ** - Perform a custom step with an AWS Lambda function target.
+  ** `DECRYPT` ** - Decrypt a file that was encrypted before it was uploaded.
+  ** `DELETE` ** - Delete the file.
+  ** `TAG` ** - Add a tag to the file.
 Currently, copying and tagging are supported only on S3. 
 For file location, you specify either the Amazon S3 bucket and key, or the Amazon EFS file system ID and path.   
Type: Array of [WorkflowStep](API_WorkflowStep.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 8 items.  
Required: Yes

 ** [Tags](#API_CreateWorkflow_RequestSyntax) **   <a name="TransferFamily-CreateWorkflow-request-Tags"></a>
Key-value pairs that can be used to group and search for workflows. Tags are metadata attached to workflows for any purpose.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: No

## Response Syntax
<a name="API_CreateWorkflow_ResponseSyntax"></a>

```
{
   "WorkflowId": "string"
}
```

## Response Elements
<a name="API_CreateWorkflow_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [WorkflowId](#API_CreateWorkflow_ResponseSyntax) **   <a name="TransferFamily-CreateWorkflow-response-WorkflowId"></a>
A unique identifier for the workflow.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `w-([a-z0-9]{17})` 

## Errors
<a name="API_CreateWorkflow_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_CreateWorkflow_Examples"></a>

### Example
<a name="API_CreateWorkflow_Example_1"></a>

You can save workflow step information into a text file, and then use that file to create a workflow, as in the following example. The following example assumes you have saved your workflow steps into ` example-file.json ` (in the same folder from where you run the command), and that you wish to create the workflow in the N. Virginia (us-east-1) region. 

```
aws transfer create-workflow --description "example workflow from a file" --steps file://example-file.json --region us-east-1
```

```
// Example file containing workflow steps
[
   {
     "Type": "TAG",
     "TagStepDetails": {
        "Name": "TagStep",
        "Tags": [
          {
            "Key": "name",
            "Value": "testTag"
          }
        ]
     }
   },
   {
     "Type": "COPY",
     "CopyStepDetails": {
        "Name": "CopyStep",
        "DestinationFileLocation": {
        "S3FileLocation": {
           "Bucket": "amzn-s3-demo-bucket",
           "Key": "DOC-EXAMPLE-KEY/"
                  }
        },
        "OverwriteExisting": "TRUE",
        "SourceFileLocation": "${original.file}"
     }
   },
   {
     "Type": "DELETE",
     "DeleteStepDetails":{
     "Name":"DeleteStep",
     "SourceFileLocation": "${original.file}"
     }
   }
]
```

### Example
<a name="API_CreateWorkflow_Example_2"></a>

The `CreateWorkflow` call returns the workflow ID for the new workflow.

#### Sample Response
<a name="API_CreateWorkflow_Example_2_Response"></a>

```
{
    "WorkflowId": "w-1234abcd5678efghi"
}
```

## See Also
<a name="API_CreateWorkflow_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/CreateWorkflow) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/CreateWorkflow) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/CreateWorkflow) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/CreateWorkflow) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/CreateWorkflow) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/CreateWorkflow) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/CreateWorkflow) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/CreateWorkflow) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/CreateWorkflow) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/CreateWorkflow) 

# DeleteAccess
<a name="API_DeleteAccess"></a>

Allows you to delete the access specified in the `ServerID` and `ExternalID` parameters.

## Request Syntax
<a name="API_DeleteAccess_RequestSyntax"></a>

```
{
   "ExternalId": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_DeleteAccess_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ExternalId](#API_DeleteAccess_RequestSyntax) **   <a name="TransferFamily-DeleteAccess-request-ExternalId"></a>
A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using AWS Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.  
 `Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid`   
In that command, replace *YourGroupName* with the name of your Active Directory group.  
The regular expression used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `S-1-[\d-]+`   
Required: Yes

 ** [ServerId](#API_DeleteAccess_RequestSyntax) **   <a name="TransferFamily-DeleteAccess-request-ServerId"></a>
A system-assigned unique identifier for a server that has this user assigned.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Elements
<a name="API_DeleteAccess_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteAccess_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DeleteAccess_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteAccess) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteAccess) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteAccess) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteAccess) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteAccess) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteAccess) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteAccess) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteAccess) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteAccess) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteAccess) 

# DeleteAgreement
<a name="API_DeleteAgreement"></a>

Delete the agreement that's specified in the provided `AgreementId`.

## Request Syntax
<a name="API_DeleteAgreement_RequestSyntax"></a>

```
{
   "AgreementId": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_DeleteAgreement_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AgreementId](#API_DeleteAgreement_RequestSyntax) **   <a name="TransferFamily-DeleteAgreement-request-AgreementId"></a>
A unique identifier for the agreement. This identifier is returned when you create an agreement.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `a-([0-9a-f]{17})`   
Required: Yes

 ** [ServerId](#API_DeleteAgreement_RequestSyntax) **   <a name="TransferFamily-DeleteAgreement-request-ServerId"></a>
The server identifier associated with the agreement that you are deleting.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Elements
<a name="API_DeleteAgreement_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteAgreement_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DeleteAgreement_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteAgreement) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteAgreement) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteAgreement) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteAgreement) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteAgreement) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteAgreement) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteAgreement) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteAgreement) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteAgreement) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteAgreement) 

# DeleteCertificate
<a name="API_DeleteCertificate"></a>

Deletes the certificate that's specified in the `CertificateId` parameter.

## Request Syntax
<a name="API_DeleteCertificate_RequestSyntax"></a>

```
{
   "CertificateId": "string"
}
```

## Request Parameters
<a name="API_DeleteCertificate_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [CertificateId](#API_DeleteCertificate_RequestSyntax) **   <a name="TransferFamily-DeleteCertificate-request-CertificateId"></a>
The identifier of the certificate object that you are deleting.  
Type: String  
Length Constraints: Fixed length of 22.  
Pattern: `cert-([0-9a-f]{17})`   
Required: Yes

## Response Elements
<a name="API_DeleteCertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteCertificate_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DeleteCertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteCertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteCertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteCertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteCertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteCertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteCertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteCertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteCertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteCertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteCertificate) 

# DeleteConnector
<a name="API_DeleteConnector"></a>

Deletes the connector that's specified in the provided `ConnectorId`.

## Request Syntax
<a name="API_DeleteConnector_RequestSyntax"></a>

```
{
   "ConnectorId": "string"
}
```

## Request Parameters
<a name="API_DeleteConnector_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ConnectorId](#API_DeleteConnector_RequestSyntax) **   <a name="TransferFamily-DeleteConnector-request-ConnectorId"></a>
The unique identifier for the connector.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})`   
Required: Yes

## Response Elements
<a name="API_DeleteConnector_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteConnector_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DeleteConnector_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteConnector) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteConnector) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteConnector) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteConnector) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteConnector) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteConnector) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteConnector) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteConnector) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteConnector) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteConnector) 

# DeleteHostKey
<a name="API_DeleteHostKey"></a>

Deletes the host key that's specified in the `HostKeyId` parameter.

## Request Syntax
<a name="API_DeleteHostKey_RequestSyntax"></a>

```
{
   "HostKeyId": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_DeleteHostKey_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [HostKeyId](#API_DeleteHostKey_RequestSyntax) **   <a name="TransferFamily-DeleteHostKey-request-HostKeyId"></a>
The identifier of the host key that you are deleting.  
Type: String  
Length Constraints: Fixed length of 25.  
Pattern: `hostkey-[0-9a-f]{17}`   
Required: Yes

 ** [ServerId](#API_DeleteHostKey_RequestSyntax) **   <a name="TransferFamily-DeleteHostKey-request-ServerId"></a>
The identifier of the server that contains the host key that you are deleting.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Elements
<a name="API_DeleteHostKey_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteHostKey_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_DeleteHostKey_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteHostKey) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteHostKey) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteHostKey) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteHostKey) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteHostKey) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteHostKey) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteHostKey) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteHostKey) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteHostKey) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteHostKey) 

# DeleteProfile
<a name="API_DeleteProfile"></a>

Deletes the profile that's specified in the `ProfileId` parameter.

## Request Syntax
<a name="API_DeleteProfile_RequestSyntax"></a>

```
{
   "ProfileId": "string"
}
```

## Request Parameters
<a name="API_DeleteProfile_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ProfileId](#API_DeleteProfile_RequestSyntax) **   <a name="TransferFamily-DeleteProfile-request-ProfileId"></a>
The identifier of the profile that you are deleting.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `p-([0-9a-f]{17})`   
Required: Yes

## Response Elements
<a name="API_DeleteProfile_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteProfile_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DeleteProfile_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteProfile) 

# DeleteServer
<a name="API_DeleteServer"></a>

Deletes the file transfer protocol-enabled server that you specify.

No response returns from this operation.

## Request Syntax
<a name="API_DeleteServer_RequestSyntax"></a>

```
{
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_DeleteServer_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ServerId](#API_DeleteServer_RequestSyntax) **   <a name="TransferFamily-DeleteServer-request-ServerId"></a>
A unique system-assigned identifier for a server instance.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Elements
<a name="API_DeleteServer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteServer_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_DeleteServer_Examples"></a>

### Example
<a name="API_DeleteServer_Example_1"></a>

The following example deletes a server.

#### Sample Request
<a name="API_DeleteServer_Example_1_Request"></a>

```
{
   "ServerId": "s-01234567890abcdef"
}
```

### Example
<a name="API_DeleteServer_Example_2"></a>

If successful, nothing is returned.

#### Sample Response
<a name="API_DeleteServer_Example_2_Response"></a>

```
{
}
```

## See Also
<a name="API_DeleteServer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteServer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteServer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteServer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteServer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteServer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteServer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteServer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteServer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteServer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteServer) 

# DeleteSshPublicKey
<a name="API_DeleteSshPublicKey"></a>

Deletes a user's Secure Shell (SSH) public key.

## Request Syntax
<a name="API_DeleteSshPublicKey_RequestSyntax"></a>

```
{
   "ServerId": "string",
   "SshPublicKeyId": "string",
   "UserName": "string"
}
```

## Request Parameters
<a name="API_DeleteSshPublicKey_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ServerId](#API_DeleteSshPublicKey_RequestSyntax) **   <a name="TransferFamily-DeleteSshPublicKey-request-ServerId"></a>
A system-assigned unique identifier for a file transfer protocol-enabled server instance that has the user assigned to it.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

 ** [SshPublicKeyId](#API_DeleteSshPublicKey_RequestSyntax) **   <a name="TransferFamily-DeleteSshPublicKey-request-SshPublicKeyId"></a>
A unique identifier used to reference your user's specific SSH key.  
Type: String  
Length Constraints: Fixed length of 21.  
Pattern: `key-[0-9a-f]{17}`   
Required: Yes

 ** [UserName](#API_DeleteSshPublicKey_RequestSyntax) **   <a name="TransferFamily-DeleteSshPublicKey-request-UserName"></a>
A unique string that identifies a user whose public key is being deleted.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 100.  
Pattern: `[\w][\w@.-]{2,99}`   
Required: Yes

## Response Elements
<a name="API_DeleteSshPublicKey_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteSshPublicKey_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_DeleteSshPublicKey_Examples"></a>

### Example
<a name="API_DeleteSshPublicKey_Example_1"></a>

The following example deletes a user's SSH public key.

#### Sample Request
<a name="API_DeleteSshPublicKey_Example_1_Request"></a>

```
{
   "ServerId": "s-01234567890abcdef",
   "SshPublicKeyId": "MyPublicKey",
   "UserName": "my_user"
}
```

## See Also
<a name="API_DeleteSshPublicKey_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteSshPublicKey) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteSshPublicKey) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteSshPublicKey) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteSshPublicKey) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteSshPublicKey) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteSshPublicKey) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteSshPublicKey) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteSshPublicKey) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteSshPublicKey) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteSshPublicKey) 

# DeleteUser
<a name="API_DeleteUser"></a>

Deletes the user belonging to a file transfer protocol-enabled server you specify.

No response returns from this operation.

**Note**  
When you delete a user from a server, the user's information is lost.

## Request Syntax
<a name="API_DeleteUser_RequestSyntax"></a>

```
{
   "ServerId": "string",
   "UserName": "string"
}
```

## Request Parameters
<a name="API_DeleteUser_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ServerId](#API_DeleteUser_RequestSyntax) **   <a name="TransferFamily-DeleteUser-request-ServerId"></a>
A system-assigned unique identifier for a server instance that has the user assigned to it.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

 ** [UserName](#API_DeleteUser_RequestSyntax) **   <a name="TransferFamily-DeleteUser-request-UserName"></a>
A unique string that identifies a user that is being deleted from a server.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 100.  
Pattern: `[\w][\w@.-]{2,99}`   
Required: Yes

## Response Elements
<a name="API_DeleteUser_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteUser_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_DeleteUser_Examples"></a>

### Example
<a name="API_DeleteUser_Example_1"></a>

The following example deletes a Transfer Family user.

#### Sample Request
<a name="API_DeleteUser_Example_1_Request"></a>

```
{
   "ServerId": "s-01234567890abcdef",
   "UserNames": "my_user"
}
```

## See Also
<a name="API_DeleteUser_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteUser) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteUser) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteUser) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteUser) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteUser) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteUser) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteUser) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteUser) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteUser) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteUser) 

# DeleteWebApp
<a name="API_DeleteWebApp"></a>

Deletes the specified web app.

## Request Syntax
<a name="API_DeleteWebApp_RequestSyntax"></a>

```
{
   "WebAppId": "string"
}
```

## Request Parameters
<a name="API_DeleteWebApp_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [WebAppId](#API_DeleteWebApp_RequestSyntax) **   <a name="TransferFamily-DeleteWebApp-request-WebAppId"></a>
Provide the unique identifier for the web app that you are deleting.  
Type: String  
Length Constraints: Fixed length of 24.  
Pattern: `webapp-[0-9a-f]{17}`   
Required: Yes

## Response Elements
<a name="API_DeleteWebApp_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteWebApp_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_DeleteWebApp_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteWebApp) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteWebApp) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteWebApp) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteWebApp) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteWebApp) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteWebApp) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteWebApp) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteWebApp) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteWebApp) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteWebApp) 

# DeleteWebAppCustomization
<a name="API_DeleteWebAppCustomization"></a>

Deletes the `WebAppCustomization` object that corresponds to the web app ID specified.

## Request Syntax
<a name="API_DeleteWebAppCustomization_RequestSyntax"></a>

```
{
   "WebAppId": "string"
}
```

## Request Parameters
<a name="API_DeleteWebAppCustomization_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [WebAppId](#API_DeleteWebAppCustomization_RequestSyntax) **   <a name="TransferFamily-DeleteWebAppCustomization-request-WebAppId"></a>
Provide the unique identifier for the web app that contains the customizations that you are deleting.  
Type: String  
Length Constraints: Fixed length of 24.  
Pattern: `webapp-[0-9a-f]{17}`   
Required: Yes

## Response Elements
<a name="API_DeleteWebAppCustomization_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteWebAppCustomization_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** ConflictException **   
This exception is thrown when the `UpdateServer` is called for a file transfer protocol-enabled server that has VPC as the endpoint type and the server's `VpcEndpointID` is not in the available state.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_DeleteWebAppCustomization_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteWebAppCustomization) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteWebAppCustomization) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteWebAppCustomization) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteWebAppCustomization) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteWebAppCustomization) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteWebAppCustomization) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteWebAppCustomization) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteWebAppCustomization) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteWebAppCustomization) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteWebAppCustomization) 

# DeleteWorkflow
<a name="API_DeleteWorkflow"></a>

Deletes the specified workflow.

## Request Syntax
<a name="API_DeleteWorkflow_RequestSyntax"></a>

```
{
   "WorkflowId": "string"
}
```

## Request Parameters
<a name="API_DeleteWorkflow_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [WorkflowId](#API_DeleteWorkflow_RequestSyntax) **   <a name="TransferFamily-DeleteWorkflow-request-WorkflowId"></a>
A unique identifier for the workflow.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `w-([a-z0-9]{17})`   
Required: Yes

## Response Elements
<a name="API_DeleteWorkflow_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteWorkflow_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DeleteWorkflow_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DeleteWorkflow) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DeleteWorkflow) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DeleteWorkflow) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DeleteWorkflow) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DeleteWorkflow) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DeleteWorkflow) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DeleteWorkflow) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DeleteWorkflow) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DeleteWorkflow) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DeleteWorkflow) 

# DescribeAccess
<a name="API_DescribeAccess"></a>

Describes the access that is assigned to the specific file transfer protocol-enabled server, as identified by its `ServerId` property and its `ExternalId`.

The response from this call returns the properties of the access that is associated with the `ServerId` value that was specified.

## Request Syntax
<a name="API_DescribeAccess_RequestSyntax"></a>

```
{
   "ExternalId": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_DescribeAccess_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ExternalId](#API_DescribeAccess_RequestSyntax) **   <a name="TransferFamily-DescribeAccess-request-ExternalId"></a>
A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using AWS Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.  
 `Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid`   
In that command, replace *YourGroupName* with the name of your Active Directory group.  
The regular expression used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `S-1-[\d-]+`   
Required: Yes

 ** [ServerId](#API_DescribeAccess_RequestSyntax) **   <a name="TransferFamily-DescribeAccess-request-ServerId"></a>
A system-assigned unique identifier for a server that has this access assigned.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_DescribeAccess_ResponseSyntax"></a>

```
{
   "Access": { 
      "ExternalId": "string",
      "HomeDirectory": "string",
      "HomeDirectoryMappings": [ 
         { 
            "Entry": "string",
            "Target": "string",
            "Type": "string"
         }
      ],
      "HomeDirectoryType": "string",
      "Policy": "string",
      "PosixProfile": { 
         "Gid": number,
         "SecondaryGids": [ number ],
         "Uid": number
      },
      "Role": "string"
   },
   "ServerId": "string"
}
```

## Response Elements
<a name="API_DescribeAccess_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Access](#API_DescribeAccess_ResponseSyntax) **   <a name="TransferFamily-DescribeAccess-response-Access"></a>
The external identifier of the server that the access is attached to.  
Type: [DescribedAccess](API_DescribedAccess.md) object

 ** [ServerId](#API_DescribeAccess_ResponseSyntax) **   <a name="TransferFamily-DescribeAccess-response-ServerId"></a>
A system-assigned unique identifier for a server that has this access assigned.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

## Errors
<a name="API_DescribeAccess_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DescribeAccess_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeAccess) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeAccess) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeAccess) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeAccess) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeAccess) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeAccess) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeAccess) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeAccess) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeAccess) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeAccess) 

# DescribeAgreement
<a name="API_DescribeAgreement"></a>

Describes the agreement that's identified by the `AgreementId`.

## Request Syntax
<a name="API_DescribeAgreement_RequestSyntax"></a>

```
{
   "AgreementId": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_DescribeAgreement_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AgreementId](#API_DescribeAgreement_RequestSyntax) **   <a name="TransferFamily-DescribeAgreement-request-AgreementId"></a>
A unique identifier for the agreement. This identifier is returned when you create an agreement.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `a-([0-9a-f]{17})`   
Required: Yes

 ** [ServerId](#API_DescribeAgreement_RequestSyntax) **   <a name="TransferFamily-DescribeAgreement-request-ServerId"></a>
The server identifier that's associated with the agreement.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_DescribeAgreement_ResponseSyntax"></a>

```
{
   "Agreement": { 
      "AccessRole": "string",
      "AgreementId": "string",
      "Arn": "string",
      "BaseDirectory": "string",
      "CustomDirectories": { 
         "FailedFilesDirectory": "string",
         "MdnFilesDirectory": "string",
         "PayloadFilesDirectory": "string",
         "StatusFilesDirectory": "string",
         "TemporaryFilesDirectory": "string"
      },
      "Description": "string",
      "EnforceMessageSigning": "string",
      "LocalProfileId": "string",
      "PartnerProfileId": "string",
      "PreserveFilename": "string",
      "ServerId": "string",
      "Status": "string",
      "Tags": [ 
         { 
            "Key": "string",
            "Value": "string"
         }
      ]
   }
}
```

## Response Elements
<a name="API_DescribeAgreement_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Agreement](#API_DescribeAgreement_ResponseSyntax) **   <a name="TransferFamily-DescribeAgreement-response-Agreement"></a>
The details for the specified agreement, returned as a `DescribedAgreement` object.  
Type: [DescribedAgreement](API_DescribedAgreement.md) object

## Errors
<a name="API_DescribeAgreement_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DescribeAgreement_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeAgreement) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeAgreement) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeAgreement) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeAgreement) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeAgreement) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeAgreement) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeAgreement) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeAgreement) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeAgreement) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeAgreement) 

# DescribeCertificate
<a name="API_DescribeCertificate"></a>

Describes the certificate that's identified by the `CertificateId`.

**Note**  
 AWS Transfer Family automatically publishes a Amazon CloudWatch metric called `DaysUntilExpiry` for imported certificates. This metric tracks the number of days until the certificate expires based on the `InactiveDate`. The metric is available in the `AWS/Transfer` namespace and includes the `CertificateId` as a dimension.

## Request Syntax
<a name="API_DescribeCertificate_RequestSyntax"></a>

```
{
   "CertificateId": "string"
}
```

## Request Parameters
<a name="API_DescribeCertificate_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [CertificateId](#API_DescribeCertificate_RequestSyntax) **   <a name="TransferFamily-DescribeCertificate-request-CertificateId"></a>
An array of identifiers for the imported certificates. You use this identifier for working with profiles and partner profiles.  
Type: String  
Length Constraints: Fixed length of 22.  
Pattern: `cert-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_DescribeCertificate_ResponseSyntax"></a>

```
{
   "Certificate": { 
      "ActiveDate": number,
      "Arn": "string",
      "Certificate": "string",
      "CertificateChain": "string",
      "CertificateId": "string",
      "Description": "string",
      "InactiveDate": number,
      "NotAfterDate": number,
      "NotBeforeDate": number,
      "Serial": "string",
      "Status": "string",
      "Tags": [ 
         { 
            "Key": "string",
            "Value": "string"
         }
      ],
      "Type": "string",
      "Usage": "string"
   }
}
```

## Response Elements
<a name="API_DescribeCertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Certificate](#API_DescribeCertificate_ResponseSyntax) **   <a name="TransferFamily-DescribeCertificate-response-Certificate"></a>
The details for the specified certificate, returned as an object.  
Type: [DescribedCertificate](API_DescribedCertificate.md) object

## Errors
<a name="API_DescribeCertificate_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DescribeCertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeCertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeCertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeCertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeCertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeCertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeCertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeCertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeCertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeCertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeCertificate) 

# DescribeConnector
<a name="API_DescribeConnector"></a>

Describes the connector that's identified by the `ConnectorId.` 

## Request Syntax
<a name="API_DescribeConnector_RequestSyntax"></a>

```
{
   "ConnectorId": "string"
}
```

## Request Parameters
<a name="API_DescribeConnector_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ConnectorId](#API_DescribeConnector_RequestSyntax) **   <a name="TransferFamily-DescribeConnector-request-ConnectorId"></a>
The unique identifier for the connector.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_DescribeConnector_ResponseSyntax"></a>

```
{
   "Connector": { 
      "AccessRole": "string",
      "Arn": "string",
      "As2Config": { 
         "AsyncMdnConfig": { 
            "ServerIds": [ "string" ],
            "Url": "string"
         },
         "BasicAuthSecretId": "string",
         "Compression": "string",
         "EncryptionAlgorithm": "string",
         "LocalProfileId": "string",
         "MdnResponse": "string",
         "MdnSigningAlgorithm": "string",
         "MessageSubject": "string",
         "PartnerProfileId": "string",
         "PreserveContentType": "string",
         "SigningAlgorithm": "string"
      },
      "ConnectorId": "string",
      "EgressConfig": { ... },
      "EgressType": "string",
      "ErrorMessage": "string",
      "LoggingRole": "string",
      "SecurityPolicyName": "string",
      "ServiceManagedEgressIpAddresses": [ "string" ],
      "SftpConfig": { 
         "MaxConcurrentConnections": number,
         "TrustedHostKeys": [ "string" ],
         "UserSecretId": "string"
      },
      "Status": "string",
      "Tags": [ 
         { 
            "Key": "string",
            "Value": "string"
         }
      ],
      "Url": "string"
   }
}
```

## Response Elements
<a name="API_DescribeConnector_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Connector](#API_DescribeConnector_ResponseSyntax) **   <a name="TransferFamily-DescribeConnector-response-Connector"></a>
The structure that contains the details of the connector.  
Type: [DescribedConnector](API_DescribedConnector.md) object

## Errors
<a name="API_DescribeConnector_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DescribeConnector_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeConnector) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeConnector) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeConnector) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeConnector) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeConnector) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeConnector) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeConnector) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeConnector) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeConnector) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeConnector) 

# DescribeExecution
<a name="API_DescribeExecution"></a>

You can use `DescribeExecution` to check the details of the execution of the specified workflow.

**Note**  
This API call only returns details for in-progress workflows.  
 If you provide an ID for an execution that is not in progress, or if the execution doesn't match the specified workflow ID, you receive a `ResourceNotFound` exception.

## Request Syntax
<a name="API_DescribeExecution_RequestSyntax"></a>

```
{
   "ExecutionId": "string",
   "WorkflowId": "string"
}
```

## Request Parameters
<a name="API_DescribeExecution_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ExecutionId](#API_DescribeExecution_RequestSyntax) **   <a name="TransferFamily-DescribeExecution-request-ExecutionId"></a>
A unique identifier for the execution of a workflow.  
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}`   
Required: Yes

 ** [WorkflowId](#API_DescribeExecution_RequestSyntax) **   <a name="TransferFamily-DescribeExecution-request-WorkflowId"></a>
A unique identifier for the workflow.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `w-([a-z0-9]{17})`   
Required: Yes

## Response Syntax
<a name="API_DescribeExecution_ResponseSyntax"></a>

```
{
   "Execution": { 
      "ExecutionId": "string",
      "ExecutionRole": "string",
      "InitialFileLocation": { 
         "EfsFileLocation": { 
            "FileSystemId": "string",
            "Path": "string"
         },
         "S3FileLocation": { 
            "Bucket": "string",
            "Etag": "string",
            "Key": "string",
            "VersionId": "string"
         }
      },
      "LoggingConfiguration": { 
         "LoggingRole": "string",
         "LogGroupName": "string"
      },
      "PosixProfile": { 
         "Gid": number,
         "SecondaryGids": [ number ],
         "Uid": number
      },
      "Results": { 
         "OnExceptionSteps": [ 
            { 
               "Error": { 
                  "Message": "string",
                  "Type": "string"
               },
               "Outputs": "string",
               "StepType": "string"
            }
         ],
         "Steps": [ 
            { 
               "Error": { 
                  "Message": "string",
                  "Type": "string"
               },
               "Outputs": "string",
               "StepType": "string"
            }
         ]
      },
      "ServiceMetadata": { 
         "UserDetails": { 
            "ServerId": "string",
            "SessionId": "string",
            "UserName": "string"
         }
      },
      "Status": "string"
   },
   "WorkflowId": "string"
}
```

## Response Elements
<a name="API_DescribeExecution_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Execution](#API_DescribeExecution_ResponseSyntax) **   <a name="TransferFamily-DescribeExecution-response-Execution"></a>
The structure that contains the details of the workflow' execution.  
Type: [DescribedExecution](API_DescribedExecution.md) object

 ** [WorkflowId](#API_DescribeExecution_ResponseSyntax) **   <a name="TransferFamily-DescribeExecution-response-WorkflowId"></a>
A unique identifier for the workflow.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `w-([a-z0-9]{17})` 

## Errors
<a name="API_DescribeExecution_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DescribeExecution_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeExecution) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeExecution) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeExecution) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeExecution) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeExecution) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeExecution) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeExecution) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeExecution) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeExecution) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeExecution) 

# DescribeHostKey
<a name="API_DescribeHostKey"></a>

Returns the details of the host key that's specified by the `HostKeyId` and `ServerId`.

## Request Syntax
<a name="API_DescribeHostKey_RequestSyntax"></a>

```
{
   "HostKeyId": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_DescribeHostKey_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [HostKeyId](#API_DescribeHostKey_RequestSyntax) **   <a name="TransferFamily-DescribeHostKey-request-HostKeyId"></a>
The identifier of the host key that you want described.  
Type: String  
Length Constraints: Fixed length of 25.  
Pattern: `hostkey-[0-9a-f]{17}`   
Required: Yes

 ** [ServerId](#API_DescribeHostKey_RequestSyntax) **   <a name="TransferFamily-DescribeHostKey-request-ServerId"></a>
The identifier of the server that contains the host key that you want described.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_DescribeHostKey_ResponseSyntax"></a>

```
{
   "HostKey": { 
      "Arn": "string",
      "DateImported": number,
      "Description": "string",
      "HostKeyFingerprint": "string",
      "HostKeyId": "string",
      "Tags": [ 
         { 
            "Key": "string",
            "Value": "string"
         }
      ],
      "Type": "string"
   }
}
```

## Response Elements
<a name="API_DescribeHostKey_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [HostKey](#API_DescribeHostKey_ResponseSyntax) **   <a name="TransferFamily-DescribeHostKey-response-HostKey"></a>
Returns the details for the specified host key.  
Type: [DescribedHostKey](API_DescribedHostKey.md) object

## Errors
<a name="API_DescribeHostKey_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DescribeHostKey_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeHostKey) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeHostKey) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeHostKey) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeHostKey) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeHostKey) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeHostKey) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeHostKey) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeHostKey) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeHostKey) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeHostKey) 

# DescribeProfile
<a name="API_DescribeProfile"></a>

Returns the details of the profile that's specified by the `ProfileId`.

## Request Syntax
<a name="API_DescribeProfile_RequestSyntax"></a>

```
{
   "ProfileId": "string"
}
```

## Request Parameters
<a name="API_DescribeProfile_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ProfileId](#API_DescribeProfile_RequestSyntax) **   <a name="TransferFamily-DescribeProfile-request-ProfileId"></a>
The identifier of the profile that you want described.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `p-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_DescribeProfile_ResponseSyntax"></a>

```
{
   "Profile": { 
      "Arn": "string",
      "As2Id": "string",
      "CertificateIds": [ "string" ],
      "ProfileId": "string",
      "ProfileType": "string",
      "Tags": [ 
         { 
            "Key": "string",
            "Value": "string"
         }
      ]
   }
}
```

## Response Elements
<a name="API_DescribeProfile_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Profile](#API_DescribeProfile_ResponseSyntax) **   <a name="TransferFamily-DescribeProfile-response-Profile"></a>
The details of the specified profile, returned as an object.  
Type: [DescribedProfile](API_DescribedProfile.md) object

## Errors
<a name="API_DescribeProfile_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DescribeProfile_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeProfile) 

# DescribeSecurityPolicy
<a name="API_DescribeSecurityPolicy"></a>

Describes the security policy that is attached to your server or SFTP connector. The response contains a description of the security policy's properties. For more information about security policies, see [Working with security policies for servers](https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html) or [Working with security policies for SFTP connectors](https://docs.aws.amazon.com/transfer/latest/userguide/security-policies-connectors.html).

## Request Syntax
<a name="API_DescribeSecurityPolicy_RequestSyntax"></a>

```
{
   "SecurityPolicyName": "string"
}
```

## Request Parameters
<a name="API_DescribeSecurityPolicy_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [SecurityPolicyName](#API_DescribeSecurityPolicy_RequestSyntax) **   <a name="TransferFamily-DescribeSecurityPolicy-request-SecurityPolicyName"></a>
Specify the text name of the security policy for which you want the details.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 100.  
Pattern: `Transfer[A-Za-z0-9]*SecurityPolicy-[A-Za-z0-9-]+`   
Required: Yes

## Response Syntax
<a name="API_DescribeSecurityPolicy_ResponseSyntax"></a>

```
{
   "SecurityPolicy": { 
      "Fips": boolean,
      "Protocols": [ "string" ],
      "SecurityPolicyName": "string",
      "SshCiphers": [ "string" ],
      "SshHostKeyAlgorithms": [ "string" ],
      "SshKexs": [ "string" ],
      "SshMacs": [ "string" ],
      "TlsCiphers": [ "string" ],
      "Type": "string"
   }
}
```

## Response Elements
<a name="API_DescribeSecurityPolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [SecurityPolicy](#API_DescribeSecurityPolicy_ResponseSyntax) **   <a name="TransferFamily-DescribeSecurityPolicy-response-SecurityPolicy"></a>
An array containing the properties of the security policy.  
Type: [DescribedSecurityPolicy](API_DescribedSecurityPolicy.md) object

## Errors
<a name="API_DescribeSecurityPolicy_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_DescribeSecurityPolicy_Examples"></a>

### Example
<a name="API_DescribeSecurityPolicy_Example_1"></a>

The following example command takes the security policy name as an argument, and returns the algorithms for the specified security policy.

#### Sample Request
<a name="API_DescribeSecurityPolicy_Example_1_Request"></a>

```
aws transfer describe-security-policy --security-policy-name "TransferSecurityPolicy-FIPS-2023-05"
```

#### Sample Response
<a name="API_DescribeSecurityPolicy_Example_1_Response"></a>

```
{
    "SecurityPolicy": {
        "Fips": true,
        "SecurityPolicyName": "TransferSecurityPolicy-FIPS-2023-05",
        "SshCiphers": [
            "aes256-gcm@openssh.com",
            "aes128-gcm@openssh.com",
            "aes256-ctr",
            "aes192-ctr"
        ],
        "SshKexs": [
            "diffie-hellman-group16-sha512",
            "diffie-hellman-group18-sha512",
            "diffie-hellman-group-exchange-sha256"
        ],
        "SshMacs": [
            "hmac-sha2-256-etm@openssh.com",
            "hmac-sha2-512-etm@openssh.com"
        ],
        "TlsCiphers": [
            "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
            "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
            "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
            "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
            "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
            "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
            "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
            "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
        ]
    }
}
```

## See Also
<a name="API_DescribeSecurityPolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeSecurityPolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeSecurityPolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeSecurityPolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeSecurityPolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeSecurityPolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeSecurityPolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeSecurityPolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeSecurityPolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeSecurityPolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeSecurityPolicy) 

# DescribeServer
<a name="API_DescribeServer"></a>

Describes a file transfer protocol-enabled server that you specify by passing the `ServerId` parameter.

The response contains a description of a server's properties. When you set `EndpointType` to VPC, the response will contain the `EndpointDetails`.

## Request Syntax
<a name="API_DescribeServer_RequestSyntax"></a>

```
{
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_DescribeServer_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ServerId](#API_DescribeServer_RequestSyntax) **   <a name="TransferFamily-DescribeServer-request-ServerId"></a>
A system-assigned unique identifier for a server.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_DescribeServer_ResponseSyntax"></a>

```
{
   "Server": { 
      "Arn": "string",
      "As2ServiceManagedEgressIpAddresses": [ "string" ],
      "Certificate": "string",
      "Domain": "string",
      "EndpointDetails": { 
         "AddressAllocationIds": [ "string" ],
         "SecurityGroupIds": [ "string" ],
         "SubnetIds": [ "string" ],
         "VpcEndpointId": "string",
         "VpcId": "string"
      },
      "EndpointType": "string",
      "HostKeyFingerprint": "string",
      "IdentityProviderDetails": { 
         "DirectoryId": "string",
         "Function": "string",
         "InvocationRole": "string",
         "SftpAuthenticationMethods": "string",
         "Url": "string"
      },
      "IdentityProviderType": "string",
      "IpAddressType": "string",
      "LoggingRole": "string",
      "PostAuthenticationLoginBanner": "string",
      "PreAuthenticationLoginBanner": "string",
      "ProtocolDetails": { 
         "As2Transports": [ "string" ],
         "PassiveIp": "string",
         "SetStatOption": "string",
         "TlsSessionResumptionMode": "string"
      },
      "Protocols": [ "string" ],
      "S3StorageOptions": { 
         "DirectoryListingOptimization": "string"
      },
      "SecurityPolicyName": "string",
      "ServerId": "string",
      "State": "string",
      "StructuredLogDestinations": [ "string" ],
      "Tags": [ 
         { 
            "Key": "string",
            "Value": "string"
         }
      ],
      "UserCount": number,
      "WorkflowDetails": { 
         "OnPartialUpload": [ 
            { 
               "ExecutionRole": "string",
               "WorkflowId": "string"
            }
         ],
         "OnUpload": [ 
            { 
               "ExecutionRole": "string",
               "WorkflowId": "string"
            }
         ]
      }
   }
}
```

## Response Elements
<a name="API_DescribeServer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Server](#API_DescribeServer_ResponseSyntax) **   <a name="TransferFamily-DescribeServer-response-Server"></a>
An array containing the properties of a server with the `ServerID` you specified.  
Type: [DescribedServer](API_DescribedServer.md) object

## Errors
<a name="API_DescribeServer_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_DescribeServer_Examples"></a>

### Example
<a name="API_DescribeServer_Example_1"></a>

The following example returns the properties assigned to a server.

#### Sample Request
<a name="API_DescribeServer_Example_1_Request"></a>

```
{
   "ServerId": "s-01234567890abcdef"
}
```

### Example
<a name="API_DescribeServer_Example_2"></a>

This example illustrates one usage of DescribeServer.

#### Sample Response
<a name="API_DescribeServer_Example_2_Response"></a>

```
{
    "Server": {
        "Arn": "arn:aws:transfer:us-east-1:176354371281:server/s-01234567890abcdef",
        "EndpointDetails": {
            "AddressAllocationIds": [
                "eipalloc-01a2eabe3c04d5678",
                "eipalloc-102345be"
            ],
            "SubnetIds": [
                "subnet-047eaa7f0187a7cde",
                "subnet-0a2d0f474daffde18"
            ],
            "VpcEndpointId": "vpce-03fe0080e7cb008b8",
            "VpcId": "vpc-09047a51f1c8e1634"
        },
        "EndpointType": "VPC",
        "HostKeyFingerprint": "your host key,
        "IdentityProviderType": "SERVICE_MANAGED",
        "ServerId": "s-01234567890abcdef",
        "State": "ONLINE",
        "Tags": [],
        "UserCount": 0
    }
}
```

## See Also
<a name="API_DescribeServer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeServer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeServer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeServer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeServer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeServer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeServer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeServer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeServer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeServer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeServer) 

# DescribeUser
<a name="API_DescribeUser"></a>

Describes the user assigned to the specific file transfer protocol-enabled server, as identified by its `ServerId` property.

The response from this call returns the properties of the user associated with the `ServerId` value that was specified.

## Request Syntax
<a name="API_DescribeUser_RequestSyntax"></a>

```
{
   "ServerId": "string",
   "UserName": "string"
}
```

## Request Parameters
<a name="API_DescribeUser_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ServerId](#API_DescribeUser_RequestSyntax) **   <a name="TransferFamily-DescribeUser-request-ServerId"></a>
A system-assigned unique identifier for a server that has this user assigned.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

 ** [UserName](#API_DescribeUser_RequestSyntax) **   <a name="TransferFamily-DescribeUser-request-UserName"></a>
The name of the user assigned to one or more servers. User names are part of the sign-in credentials to use the AWS Transfer Family service and perform file transfer tasks.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 100.  
Pattern: `[\w][\w@.-]{2,99}`   
Required: Yes

## Response Syntax
<a name="API_DescribeUser_ResponseSyntax"></a>

```
{
   "ServerId": "string",
   "User": { 
      "Arn": "string",
      "HomeDirectory": "string",
      "HomeDirectoryMappings": [ 
         { 
            "Entry": "string",
            "Target": "string",
            "Type": "string"
         }
      ],
      "HomeDirectoryType": "string",
      "Policy": "string",
      "PosixProfile": { 
         "Gid": number,
         "SecondaryGids": [ number ],
         "Uid": number
      },
      "Role": "string",
      "SshPublicKeys": [ 
         { 
            "DateImported": number,
            "SshPublicKeyBody": "string",
            "SshPublicKeyId": "string"
         }
      ],
      "Tags": [ 
         { 
            "Key": "string",
            "Value": "string"
         }
      ],
      "UserName": "string"
   }
}
```

## Response Elements
<a name="API_DescribeUser_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ServerId](#API_DescribeUser_ResponseSyntax) **   <a name="TransferFamily-DescribeUser-response-ServerId"></a>
A system-assigned unique identifier for a server that has this user assigned.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

 ** [User](#API_DescribeUser_ResponseSyntax) **   <a name="TransferFamily-DescribeUser-response-User"></a>
An array containing the properties of the Transfer Family user for the `ServerID` value that you specified.  
Type: [DescribedUser](API_DescribedUser.md) object

## Errors
<a name="API_DescribeUser_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_DescribeUser_Examples"></a>

### Example
<a name="API_DescribeUser_Example_1"></a>

The following example shows the details for an existing user.

#### Sample Request
<a name="API_DescribeUser_Example_1_Request"></a>

```
aws transfer describe-user --server-id s-1111aaaa2222bbbb3 --user-name bob-test
```

#### Sample Response
<a name="API_DescribeUser_Example_1_Response"></a>

```
{
    "ServerId": "s-1111aaaa2222bbbb3",
    "User": {
        "Arn": "arn:aws:transfer:us-east-1:111122223333:user/s-1111aaaa2222bbbb3/bob-test",
        "HomeDirectory": "/amzn-s3-demo-bucket",
        "HomeDirectoryType": "PATH",
        "Role": "arn:aws:iam::111122223333:role/bob-role",
        "SshPublicKeys": [
            {
                "DateImported": "2022-03-31T12:27:52.614000-04:00",
                "SshPublicKeyBody": "ssh-rsa AAAAB3NzaC1yc..... bobusa@mycomputer.us-east-1.amaazon.com",
                "SshPublicKeyId": "key-abcde12345fghik67"
            }
        ],
        "Tags": [],
        "UserName": "bob-test"
    }
}
```

## See Also
<a name="API_DescribeUser_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeUser) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeUser) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeUser) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeUser) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeUser) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeUser) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeUser) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeUser) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeUser) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeUser) 

# DescribeWebApp
<a name="API_DescribeWebApp"></a>

Describes the web app that's identified by `WebAppId`. The response includes endpoint configuration details such as whether the web app is publicly accessible or VPC hosted.

For more information about using VPC endpoints with AWS Transfer Family, see [Create a Transfer Family web app in a VPC](https://docs.aws.amazon.com/transfer/latest/userguide/create-webapp-in-vpc.html).

## Request Syntax
<a name="API_DescribeWebApp_RequestSyntax"></a>

```
{
   "WebAppId": "string"
}
```

## Request Parameters
<a name="API_DescribeWebApp_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [WebAppId](#API_DescribeWebApp_RequestSyntax) **   <a name="TransferFamily-DescribeWebApp-request-WebAppId"></a>
Provide the unique identifier for the web app.  
Type: String  
Length Constraints: Fixed length of 24.  
Pattern: `webapp-[0-9a-f]{17}`   
Required: Yes

## Response Syntax
<a name="API_DescribeWebApp_ResponseSyntax"></a>

```
{
   "WebApp": { 
      "AccessEndpoint": "string",
      "Arn": "string",
      "DescribedEndpointDetails": { ... },
      "DescribedIdentityProviderDetails": { ... },
      "EndpointType": "string",
      "Tags": [ 
         { 
            "Key": "string",
            "Value": "string"
         }
      ],
      "WebAppEndpoint": "string",
      "WebAppEndpointPolicy": "string",
      "WebAppId": "string",
      "WebAppUnits": { ... }
   }
}
```

## Response Elements
<a name="API_DescribeWebApp_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [WebApp](#API_DescribeWebApp_ResponseSyntax) **   <a name="TransferFamily-DescribeWebApp-response-WebApp"></a>
Returns a structure that contains the details of the web app.  
Type: [DescribedWebApp](API_DescribedWebApp.md) object

## Errors
<a name="API_DescribeWebApp_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_DescribeWebApp_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeWebApp) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeWebApp) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeWebApp) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeWebApp) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeWebApp) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeWebApp) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeWebApp) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeWebApp) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeWebApp) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeWebApp) 

# DescribeWebAppCustomization
<a name="API_DescribeWebAppCustomization"></a>

Describes the web app customization object that's identified by `WebAppId`.

## Request Syntax
<a name="API_DescribeWebAppCustomization_RequestSyntax"></a>

```
{
   "WebAppId": "string"
}
```

## Request Parameters
<a name="API_DescribeWebAppCustomization_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [WebAppId](#API_DescribeWebAppCustomization_RequestSyntax) **   <a name="TransferFamily-DescribeWebAppCustomization-request-WebAppId"></a>
Provide the unique identifier for the web app.  
Type: String  
Length Constraints: Fixed length of 24.  
Pattern: `webapp-[0-9a-f]{17}`   
Required: Yes

## Response Syntax
<a name="API_DescribeWebAppCustomization_ResponseSyntax"></a>

```
{
   "WebAppCustomization": { 
      "Arn": "string",
      "FaviconFile": blob,
      "LogoFile": blob,
      "Title": "string",
      "WebAppId": "string"
   }
}
```

## Response Elements
<a name="API_DescribeWebAppCustomization_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [WebAppCustomization](#API_DescribeWebAppCustomization_ResponseSyntax) **   <a name="TransferFamily-DescribeWebAppCustomization-response-WebAppCustomization"></a>
Returns a structure that contains the details of the web app customizations.  
Type: [DescribedWebAppCustomization](API_DescribedWebAppCustomization.md) object

## Errors
<a name="API_DescribeWebAppCustomization_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_DescribeWebAppCustomization_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeWebAppCustomization) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeWebAppCustomization) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeWebAppCustomization) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeWebAppCustomization) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeWebAppCustomization) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeWebAppCustomization) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeWebAppCustomization) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeWebAppCustomization) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeWebAppCustomization) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeWebAppCustomization) 

# DescribeWorkflow
<a name="API_DescribeWorkflow"></a>

Describes the specified workflow.

## Request Syntax
<a name="API_DescribeWorkflow_RequestSyntax"></a>

```
{
   "WorkflowId": "string"
}
```

## Request Parameters
<a name="API_DescribeWorkflow_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [WorkflowId](#API_DescribeWorkflow_RequestSyntax) **   <a name="TransferFamily-DescribeWorkflow-request-WorkflowId"></a>
A unique identifier for the workflow.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `w-([a-z0-9]{17})`   
Required: Yes

## Response Syntax
<a name="API_DescribeWorkflow_ResponseSyntax"></a>

```
{
   "Workflow": { 
      "Arn": "string",
      "Description": "string",
      "OnExceptionSteps": [ 
         { 
            "CopyStepDetails": { 
               "DestinationFileLocation": { 
                  "EfsFileLocation": { 
                     "FileSystemId": "string",
                     "Path": "string"
                  },
                  "S3FileLocation": { 
                     "Bucket": "string",
                     "Key": "string"
                  }
               },
               "Name": "string",
               "OverwriteExisting": "string",
               "SourceFileLocation": "string"
            },
            "CustomStepDetails": { 
               "Name": "string",
               "SourceFileLocation": "string",
               "Target": "string",
               "TimeoutSeconds": number
            },
            "DecryptStepDetails": { 
               "DestinationFileLocation": { 
                  "EfsFileLocation": { 
                     "FileSystemId": "string",
                     "Path": "string"
                  },
                  "S3FileLocation": { 
                     "Bucket": "string",
                     "Key": "string"
                  }
               },
               "Name": "string",
               "OverwriteExisting": "string",
               "SourceFileLocation": "string",
               "Type": "string"
            },
            "DeleteStepDetails": { 
               "Name": "string",
               "SourceFileLocation": "string"
            },
            "TagStepDetails": { 
               "Name": "string",
               "SourceFileLocation": "string",
               "Tags": [ 
                  { 
                     "Key": "string",
                     "Value": "string"
                  }
               ]
            },
            "Type": "string"
         }
      ],
      "Steps": [ 
         { 
            "CopyStepDetails": { 
               "DestinationFileLocation": { 
                  "EfsFileLocation": { 
                     "FileSystemId": "string",
                     "Path": "string"
                  },
                  "S3FileLocation": { 
                     "Bucket": "string",
                     "Key": "string"
                  }
               },
               "Name": "string",
               "OverwriteExisting": "string",
               "SourceFileLocation": "string"
            },
            "CustomStepDetails": { 
               "Name": "string",
               "SourceFileLocation": "string",
               "Target": "string",
               "TimeoutSeconds": number
            },
            "DecryptStepDetails": { 
               "DestinationFileLocation": { 
                  "EfsFileLocation": { 
                     "FileSystemId": "string",
                     "Path": "string"
                  },
                  "S3FileLocation": { 
                     "Bucket": "string",
                     "Key": "string"
                  }
               },
               "Name": "string",
               "OverwriteExisting": "string",
               "SourceFileLocation": "string",
               "Type": "string"
            },
            "DeleteStepDetails": { 
               "Name": "string",
               "SourceFileLocation": "string"
            },
            "TagStepDetails": { 
               "Name": "string",
               "SourceFileLocation": "string",
               "Tags": [ 
                  { 
                     "Key": "string",
                     "Value": "string"
                  }
               ]
            },
            "Type": "string"
         }
      ],
      "Tags": [ 
         { 
            "Key": "string",
            "Value": "string"
         }
      ],
      "WorkflowId": "string"
   }
}
```

## Response Elements
<a name="API_DescribeWorkflow_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Workflow](#API_DescribeWorkflow_ResponseSyntax) **   <a name="TransferFamily-DescribeWorkflow-response-Workflow"></a>
The structure that contains the details of the workflow.  
Type: [DescribedWorkflow](API_DescribedWorkflow.md) object

## Errors
<a name="API_DescribeWorkflow_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_DescribeWorkflow_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/DescribeWorkflow) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/DescribeWorkflow) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/DescribeWorkflow) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/DescribeWorkflow) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/DescribeWorkflow) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/DescribeWorkflow) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/DescribeWorkflow) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/DescribeWorkflow) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/DescribeWorkflow) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/DescribeWorkflow) 

# ImportCertificate
<a name="API_ImportCertificate"></a>

Imports the signing and encryption certificates that you need to create local (AS2) profiles and partner profiles.

You can import both the certificate and its chain in the `Certificate` parameter.

After importing a certificate, AWS Transfer Family automatically creates a Amazon CloudWatch metric called `DaysUntilExpiry` that tracks the number of days until the certificate expires. The metric is based on the `InactiveDate` parameter and is published daily in the `AWS/Transfer` namespace.

**Important**  
It can take up to a full day after importing a certificate for Transfer Family to emit the `DaysUntilExpiry` metric to your account.

**Note**  
If you use the `Certificate` parameter to upload both the certificate and its chain, don't use the `CertificateChain` parameter.

 **CloudWatch monitoring** 

The `DaysUntilExpiry` metric includes the following specifications:
+  **Units:** Count (days)
+  **Dimensions:** `CertificateId` (always present), `Description` (if provided during certificate import)
+  **Statistics:** Minimum, Maximum, Average
+  **Frequency:** Published daily

## Request Syntax
<a name="API_ImportCertificate_RequestSyntax"></a>

```
{
   "ActiveDate": number,
   "Certificate": "string",
   "CertificateChain": "string",
   "Description": "string",
   "InactiveDate": number,
   "PrivateKey": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "Usage": "string"
}
```

## Request Parameters
<a name="API_ImportCertificate_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ActiveDate](#API_ImportCertificate_RequestSyntax) **   <a name="TransferFamily-ImportCertificate-request-ActiveDate"></a>
An optional date that specifies when the certificate becomes active. If you do not specify a value, `ActiveDate` takes the same value as `NotBeforeDate`, which is specified by the CA.   
Type: Timestamp  
Required: No

 ** [Certificate](#API_ImportCertificate_RequestSyntax) **   <a name="TransferFamily-ImportCertificate-request-Certificate"></a>
+ For the CLI, provide a file path for a certificate in URI format. For example, `--certificate file://encryption-cert.pem`. Alternatively, you can provide the raw content.
+ For the SDK, specify the raw content of a certificate file. For example, `--certificate "`cat encryption-cert.pem`"`.
You can provide both the certificate and its chain in this parameter, without needing to use the `CertificateChain` parameter. If you use this parameter for both the certificate and its chain, do not use the `CertificateChain` parameter.
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 16384.  
Pattern: `[\t\n\r\u0020-\u00FF]+`   
Required: Yes

 ** [CertificateChain](#API_ImportCertificate_RequestSyntax) **   <a name="TransferFamily-ImportCertificate-request-CertificateChain"></a>
An optional list of certificates that make up the chain for the certificate that's being imported.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2097152.  
Pattern: `[\t\n\r\u0020-\u00FF]+`   
Required: No

 ** [Description](#API_ImportCertificate_RequestSyntax) **   <a name="TransferFamily-ImportCertificate-request-Description"></a>
A short description that helps identify the certificate.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [InactiveDate](#API_ImportCertificate_RequestSyntax) **   <a name="TransferFamily-ImportCertificate-request-InactiveDate"></a>
An optional date that specifies when the certificate becomes inactive. If you do not specify a value, `InactiveDate` takes the same value as `NotAfterDate`, which is specified by the CA.  
Type: Timestamp  
Required: No

 ** [PrivateKey](#API_ImportCertificate_RequestSyntax) **   <a name="TransferFamily-ImportCertificate-request-PrivateKey"></a>
+ For the CLI, provide a file path for a private key in URI format. For example, `--private-key file://encryption-key.pem`. Alternatively, you can provide the raw content of the private key file.
+ For the SDK, specify the raw content of a private key file. For example, `--private-key "`cat encryption-key.pem`"` 
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 16384.  
Pattern: `[\t\n\r\u0020-\u00FF]+`   
Required: No

 ** [Tags](#API_ImportCertificate_RequestSyntax) **   <a name="TransferFamily-ImportCertificate-request-Tags"></a>
Key-value pairs that can be used to group and search for certificates.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: No

 ** [Usage](#API_ImportCertificate_RequestSyntax) **   <a name="TransferFamily-ImportCertificate-request-Usage"></a>
Specifies how this certificate is used. It can be used in the following ways:  
+  `SIGNING`: For signing AS2 messages
+  `ENCRYPTION`: For encrypting AS2 messages
+  `TLS`: For securing AS2 communications sent over HTTPS
Type: String  
Valid Values: `SIGNING | ENCRYPTION | TLS`   
Required: Yes

## Response Syntax
<a name="API_ImportCertificate_ResponseSyntax"></a>

```
{
   "CertificateId": "string"
}
```

## Response Elements
<a name="API_ImportCertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [CertificateId](#API_ImportCertificate_ResponseSyntax) **   <a name="TransferFamily-ImportCertificate-response-CertificateId"></a>
An array of identifiers for the imported certificates. You use this identifier for working with profiles and partner profiles.  
Type: String  
Length Constraints: Fixed length of 22.  
Pattern: `cert-([0-9a-f]{17})` 

## Errors
<a name="API_ImportCertificate_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_ImportCertificate_Examples"></a>

### Example
<a name="API_ImportCertificate_Example_1"></a>

The following example imports a certificate to use for encryption. In the first command, we provide the contents of the certificate and certificate chain files. Use this format for SDK commands.

```
aws transfer import-certificate --usage ENCRYPTION --certificate "`cat encryption-cert.pem`" \
    --private-key "`cat encryption-key.pem`" --certificate-chain "`cat root-ca.pem`"
```

### Example
<a name="API_ImportCertificate_Example_2"></a>

The following example is identical to the preceding command, except that we provide the file locations for the private key, certificate, and certificate chain files. This version of the command doesn't work if you are using an SDK.

```
aws transfer import-certificate --usage ENCRYPTION --certificate file://encryption-cert.pem \
    --private-key file://encryption-key.pem --certificate-chain file://root-ca.pem
```

### Example
<a name="API_ImportCertificate_Example_3"></a>

You can create CloudWatch alarms to monitor certificate expiration. The following example creates an alarm that triggers when a certificate has 30 days or fewer until expiration:

```
aws cloudwatch put-metric-alarm \
  --alarm-name "Certificate-Expiry-30-Days" \
  --alarm-description "Certificate expires in 30 days or less" \
  --metric-name DaysUntilExpiry \
  --namespace AWS/Transfer \
  --statistic Maximum \
  --period 86400 \
  --threshold 30 \
  --comparison-operator LessThanOrEqualToThreshold \
  --treat-missing-data notBreaching \
  --dimensions Name=CertificateId,Value=c-1234567890abcdef0 \
  --alarm-actions arn:aws:sns:us-east-1:123456789012:certificate-alerts
```

## See Also
<a name="API_ImportCertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ImportCertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ImportCertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ImportCertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ImportCertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ImportCertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ImportCertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ImportCertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ImportCertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ImportCertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ImportCertificate) 

# ImportHostKey
<a name="API_ImportHostKey"></a>

Adds a host key to the server that's specified by the `ServerId` parameter.

## Request Syntax
<a name="API_ImportHostKey_RequestSyntax"></a>

```
{
   "Description": "string",
   "HostKeyBody": "string",
   "ServerId": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters
<a name="API_ImportHostKey_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Description](#API_ImportHostKey_RequestSyntax) **   <a name="TransferFamily-ImportHostKey-request-Description"></a>
The text description that identifies this host key.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 200.  
Pattern: `[\p{Print}]*`   
Required: No

 ** [HostKeyBody](#API_ImportHostKey_RequestSyntax) **   <a name="TransferFamily-ImportHostKey-request-HostKeyBody"></a>
The private key portion of an SSH key pair.  
 AWS Transfer Family accepts RSA, ECDSA, and ED25519 keys.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 4096.  
Required: Yes

 ** [ServerId](#API_ImportHostKey_RequestSyntax) **   <a name="TransferFamily-ImportHostKey-request-ServerId"></a>
The identifier of the server that contains the host key that you are importing.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

 ** [Tags](#API_ImportHostKey_RequestSyntax) **   <a name="TransferFamily-ImportHostKey-request-Tags"></a>
Key-value pairs that can be used to group and search for host keys.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: No

## Response Syntax
<a name="API_ImportHostKey_ResponseSyntax"></a>

```
{
   "HostKeyId": "string",
   "ServerId": "string"
}
```

## Response Elements
<a name="API_ImportHostKey_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [HostKeyId](#API_ImportHostKey_ResponseSyntax) **   <a name="TransferFamily-ImportHostKey-response-HostKeyId"></a>
Returns the host key identifier for the imported key.  
Type: String  
Length Constraints: Fixed length of 25.  
Pattern: `hostkey-[0-9a-f]{17}` 

 ** [ServerId](#API_ImportHostKey_ResponseSyntax) **   <a name="TransferFamily-ImportHostKey-response-ServerId"></a>
Returns the server identifier that contains the imported key.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

## Errors
<a name="API_ImportHostKey_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_ImportHostKey_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ImportHostKey) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ImportHostKey) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ImportHostKey) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ImportHostKey) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ImportHostKey) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ImportHostKey) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ImportHostKey) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ImportHostKey) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ImportHostKey) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ImportHostKey) 

# ImportSshPublicKey
<a name="API_ImportSshPublicKey"></a>

Adds a Secure Shell (SSH) public key to a Transfer Family user identified by a `UserName` value assigned to the specific file transfer protocol-enabled server, identified by `ServerId`.

The response returns the `UserName` value, the `ServerId` value, and the name of the `SshPublicKeyId`.

## Request Syntax
<a name="API_ImportSshPublicKey_RequestSyntax"></a>

```
{
   "ServerId": "string",
   "SshPublicKeyBody": "string",
   "UserName": "string"
}
```

## Request Parameters
<a name="API_ImportSshPublicKey_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ServerId](#API_ImportSshPublicKey_RequestSyntax) **   <a name="TransferFamily-ImportSshPublicKey-request-ServerId"></a>
A system-assigned unique identifier for a server.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

 ** [SshPublicKeyBody](#API_ImportSshPublicKey_RequestSyntax) **   <a name="TransferFamily-ImportSshPublicKey-request-SshPublicKeyBody"></a>
The public key portion of an SSH key pair.  
 AWS Transfer Family accepts RSA, ECDSA, and ED25519 keys.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `\s*(ssh|ecdsa)-[a-z0-9-]+[ \t]+(([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{1,3})?(={0,3})?)(\s*|[ \t]+[\S \t]*\s*)`   
Required: Yes

 ** [UserName](#API_ImportSshPublicKey_RequestSyntax) **   <a name="TransferFamily-ImportSshPublicKey-request-UserName"></a>
The name of the Transfer Family user that is assigned to one or more servers.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 100.  
Pattern: `[\w][\w@.-]{2,99}`   
Required: Yes

## Response Syntax
<a name="API_ImportSshPublicKey_ResponseSyntax"></a>

```
{
   "ServerId": "string",
   "SshPublicKeyId": "string",
   "UserName": "string"
}
```

## Response Elements
<a name="API_ImportSshPublicKey_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ServerId](#API_ImportSshPublicKey_ResponseSyntax) **   <a name="TransferFamily-ImportSshPublicKey-response-ServerId"></a>
A system-assigned unique identifier for a server.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

 ** [SshPublicKeyId](#API_ImportSshPublicKey_ResponseSyntax) **   <a name="TransferFamily-ImportSshPublicKey-response-SshPublicKeyId"></a>
The name given to a public key by the system that was imported.  
Type: String  
Length Constraints: Fixed length of 21.  
Pattern: `key-[0-9a-f]{17}` 

 ** [UserName](#API_ImportSshPublicKey_ResponseSyntax) **   <a name="TransferFamily-ImportSshPublicKey-response-UserName"></a>
A user name assigned to the `ServerID` value that you specified.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 100.  
Pattern: `[\w][\w@.-]{2,99}` 

## Errors
<a name="API_ImportSshPublicKey_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_ImportSshPublicKey_Examples"></a>

### Example
<a name="API_ImportSshPublicKey_Example_1"></a>

This command imports an ECDSA key stored in the `id_ecdsa.pub` file.

```
aws transfer import-ssh-public-key --server-id s-021345abcdef6789 --ssh-public-key-body file://id_ecdsa.pub --user-name jane-doe
```

### Example
<a name="API_ImportSshPublicKey_Example_2"></a>

If you run the previous command, the system returns the following information.

```
{
    "ServerId": "s-021345abcdef6789",
   "SshPublicKeyId": "key-1234567890abcdef0",
   "UserName": "jane-doe"
}
```

## See Also
<a name="API_ImportSshPublicKey_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ImportSshPublicKey) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ImportSshPublicKey) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ImportSshPublicKey) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ImportSshPublicKey) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ImportSshPublicKey) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ImportSshPublicKey) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ImportSshPublicKey) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ImportSshPublicKey) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ImportSshPublicKey) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ImportSshPublicKey) 

# ListAccesses
<a name="API_ListAccesses"></a>

Lists the details for all the accesses you have on your server.

## Request Syntax
<a name="API_ListAccesses_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_ListAccesses_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListAccesses_RequestSyntax) **   <a name="TransferFamily-ListAccesses-request-MaxResults"></a>
The maximum number of items to return.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListAccesses_RequestSyntax) **   <a name="TransferFamily-ListAccesses-request-NextToken"></a>
When you can get additional results from the `ListAccesses` call, a `NextToken` parameter is returned in the output. You can then pass in a subsequent command to the `NextToken` parameter to continue listing additional accesses.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

 ** [ServerId](#API_ListAccesses_RequestSyntax) **   <a name="TransferFamily-ListAccesses-request-ServerId"></a>
A system-assigned unique identifier for a server that has users assigned to it.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_ListAccesses_ResponseSyntax"></a>

```
{
   "Accesses": [ 
      { 
         "ExternalId": "string",
         "HomeDirectory": "string",
         "HomeDirectoryType": "string",
         "Role": "string"
      }
   ],
   "NextToken": "string",
   "ServerId": "string"
}
```

## Response Elements
<a name="API_ListAccesses_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Accesses](#API_ListAccesses_ResponseSyntax) **   <a name="TransferFamily-ListAccesses-response-Accesses"></a>
Returns the accesses and their properties for the `ServerId` value that you specify.  
Type: Array of [ListedAccess](API_ListedAccess.md) objects

 ** [NextToken](#API_ListAccesses_ResponseSyntax) **   <a name="TransferFamily-ListAccesses-response-NextToken"></a>
When you can get additional results from the `ListAccesses` call, a `NextToken` parameter is returned in the output. You can then pass in a subsequent command to the `NextToken` parameter to continue listing additional accesses.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

 ** [ServerId](#API_ListAccesses_ResponseSyntax) **   <a name="TransferFamily-ListAccesses-response-ServerId"></a>
A system-assigned unique identifier for a server that has users assigned to it.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

## Errors
<a name="API_ListAccesses_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_ListAccesses_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListAccesses) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListAccesses) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListAccesses) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListAccesses) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListAccesses) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListAccesses) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListAccesses) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListAccesses) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListAccesses) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListAccesses) 

# ListAgreements
<a name="API_ListAgreements"></a>

Returns a list of the agreements for the server that's identified by the `ServerId` that you supply. If you want to limit the results to a certain number, supply a value for the `MaxResults` parameter. If you ran the command previously and received a value for `NextToken`, you can supply that value to continue listing agreements from where you left off.

## Request Syntax
<a name="API_ListAgreements_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_ListAgreements_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListAgreements_RequestSyntax) **   <a name="TransferFamily-ListAgreements-request-MaxResults"></a>
The maximum number of items to return.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListAgreements_RequestSyntax) **   <a name="TransferFamily-ListAgreements-request-NextToken"></a>
When you can get additional results from the `ListAgreements` call, a `NextToken` parameter is returned in the output. You can then pass in a subsequent command to the `NextToken` parameter to continue listing additional agreements.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

 ** [ServerId](#API_ListAgreements_RequestSyntax) **   <a name="TransferFamily-ListAgreements-request-ServerId"></a>
The identifier of the server for which you want a list of agreements.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_ListAgreements_ResponseSyntax"></a>

```
{
   "Agreements": [ 
      { 
         "AgreementId": "string",
         "Arn": "string",
         "Description": "string",
         "LocalProfileId": "string",
         "PartnerProfileId": "string",
         "ServerId": "string",
         "Status": "string"
      }
   ],
   "NextToken": "string"
}
```

## Response Elements
<a name="API_ListAgreements_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Agreements](#API_ListAgreements_ResponseSyntax) **   <a name="TransferFamily-ListAgreements-response-Agreements"></a>
Returns an array, where each item contains the details of an agreement.  
Type: Array of [ListedAgreement](API_ListedAgreement.md) objects

 ** [NextToken](#API_ListAgreements_ResponseSyntax) **   <a name="TransferFamily-ListAgreements-response-NextToken"></a>
Returns a token that you can use to call `ListAgreements` again and receive additional results, if there are any.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

## Errors
<a name="API_ListAgreements_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_ListAgreements_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListAgreements) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListAgreements) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListAgreements) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListAgreements) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListAgreements) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListAgreements) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListAgreements) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListAgreements) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListAgreements) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListAgreements) 

# ListCertificates
<a name="API_ListCertificates"></a>

Returns a list of the current certificates that have been imported into AWS Transfer Family. If you want to limit the results to a certain number, supply a value for the `MaxResults` parameter. If you ran the command previously and received a value for the `NextToken` parameter, you can supply that value to continue listing certificates from where you left off.

## Request Syntax
<a name="API_ListCertificates_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters
<a name="API_ListCertificates_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListCertificates_RequestSyntax) **   <a name="TransferFamily-ListCertificates-request-MaxResults"></a>
The maximum number of items to return.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListCertificates_RequestSyntax) **   <a name="TransferFamily-ListCertificates-request-NextToken"></a>
When you can get additional results from the `ListCertificates` call, a `NextToken` parameter is returned in the output. You can then pass in a subsequent command to the `NextToken` parameter to continue listing additional certificates.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

## Response Syntax
<a name="API_ListCertificates_ResponseSyntax"></a>

```
{
   "Certificates": [ 
      { 
         "ActiveDate": number,
         "Arn": "string",
         "CertificateId": "string",
         "Description": "string",
         "InactiveDate": number,
         "Status": "string",
         "Type": "string",
         "Usage": "string"
      }
   ],
   "NextToken": "string"
}
```

## Response Elements
<a name="API_ListCertificates_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Certificates](#API_ListCertificates_ResponseSyntax) **   <a name="TransferFamily-ListCertificates-response-Certificates"></a>
Returns an array of the certificates that are specified in the `ListCertificates` call.  
Type: Array of [ListedCertificate](API_ListedCertificate.md) objects

 ** [NextToken](#API_ListCertificates_ResponseSyntax) **   <a name="TransferFamily-ListCertificates-response-NextToken"></a>
Returns the next token, which you can use to list the next certificate.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

## Errors
<a name="API_ListCertificates_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_ListCertificates_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListCertificates) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListCertificates) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListCertificates) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListCertificates) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListCertificates) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListCertificates) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListCertificates) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListCertificates) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListCertificates) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListCertificates) 

# ListConnectors
<a name="API_ListConnectors"></a>

Lists the connectors for the specified Region.

## Request Syntax
<a name="API_ListConnectors_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters
<a name="API_ListConnectors_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListConnectors_RequestSyntax) **   <a name="TransferFamily-ListConnectors-request-MaxResults"></a>
The maximum number of items to return.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListConnectors_RequestSyntax) **   <a name="TransferFamily-ListConnectors-request-NextToken"></a>
When you can get additional results from the `ListConnectors` call, a `NextToken` parameter is returned in the output. You can then pass in a subsequent command to the `NextToken` parameter to continue listing additional connectors.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

## Response Syntax
<a name="API_ListConnectors_ResponseSyntax"></a>

```
{
   "Connectors": [ 
      { 
         "Arn": "string",
         "ConnectorId": "string",
         "Url": "string"
      }
   ],
   "NextToken": "string"
}
```

## Response Elements
<a name="API_ListConnectors_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Connectors](#API_ListConnectors_ResponseSyntax) **   <a name="TransferFamily-ListConnectors-response-Connectors"></a>
Returns an array, where each item contains the details of a connector.  
Type: Array of [ListedConnector](API_ListedConnector.md) objects

 ** [NextToken](#API_ListConnectors_ResponseSyntax) **   <a name="TransferFamily-ListConnectors-response-NextToken"></a>
Returns a token that you can use to call `ListConnectors` again and receive additional results, if there are any.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

## Errors
<a name="API_ListConnectors_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_ListConnectors_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListConnectors) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListConnectors) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListConnectors) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListConnectors) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListConnectors) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListConnectors) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListConnectors) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListConnectors) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListConnectors) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListConnectors) 

# ListExecutions
<a name="API_ListExecutions"></a>

Lists all in-progress executions for the specified workflow.

**Note**  
If the specified workflow ID cannot be found, `ListExecutions` returns a `ResourceNotFound` exception.

## Request Syntax
<a name="API_ListExecutions_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string",
   "WorkflowId": "string"
}
```

## Request Parameters
<a name="API_ListExecutions_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListExecutions_RequestSyntax) **   <a name="TransferFamily-ListExecutions-request-MaxResults"></a>
The maximum number of items to return.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListExecutions_RequestSyntax) **   <a name="TransferFamily-ListExecutions-request-NextToken"></a>
 `ListExecutions` returns the `NextToken` parameter in the output. You can then pass the `NextToken` parameter in a subsequent command to continue listing additional executions.  
 This is useful for pagination, for instance. If you have 100 executions for a workflow, you might only want to list first 10. If so, call the API by specifying the `max-results`:   
 `aws transfer list-executions --max-results 10`   
 This returns details for the first 10 executions, as well as the pointer (`NextToken`) to the eleventh execution. You can now call the API again, supplying the `NextToken` value you received:   
 `aws transfer list-executions --max-results 10 --next-token $somePointerReturnedFromPreviousListResult`   
 This call returns the next 10 executions, the 11th through the 20th. You can then repeat the call until the details for all 100 executions have been returned.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

 ** [WorkflowId](#API_ListExecutions_RequestSyntax) **   <a name="TransferFamily-ListExecutions-request-WorkflowId"></a>
A unique identifier for the workflow.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `w-([a-z0-9]{17})`   
Required: Yes

## Response Syntax
<a name="API_ListExecutions_ResponseSyntax"></a>

```
{
   "Executions": [ 
      { 
         "ExecutionId": "string",
         "InitialFileLocation": { 
            "EfsFileLocation": { 
               "FileSystemId": "string",
               "Path": "string"
            },
            "S3FileLocation": { 
               "Bucket": "string",
               "Etag": "string",
               "Key": "string",
               "VersionId": "string"
            }
         },
         "ServiceMetadata": { 
            "UserDetails": { 
               "ServerId": "string",
               "SessionId": "string",
               "UserName": "string"
            }
         },
         "Status": "string"
      }
   ],
   "NextToken": "string",
   "WorkflowId": "string"
}
```

## Response Elements
<a name="API_ListExecutions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Executions](#API_ListExecutions_ResponseSyntax) **   <a name="TransferFamily-ListExecutions-response-Executions"></a>
Returns the details for each execution, in a `ListedExecution` array.  
Type: Array of [ListedExecution](API_ListedExecution.md) objects

 ** [NextToken](#API_ListExecutions_ResponseSyntax) **   <a name="TransferFamily-ListExecutions-response-NextToken"></a>
 `ListExecutions` returns the `NextToken` parameter in the output. You can then pass the `NextToken` parameter in a subsequent command to continue listing additional executions.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

 ** [WorkflowId](#API_ListExecutions_ResponseSyntax) **   <a name="TransferFamily-ListExecutions-response-WorkflowId"></a>
A unique identifier for the workflow.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `w-([a-z0-9]{17})` 

## Errors
<a name="API_ListExecutions_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_ListExecutions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListExecutions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListExecutions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListExecutions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListExecutions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListExecutions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListExecutions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListExecutions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListExecutions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListExecutions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListExecutions) 

# ListFileTransferResults
<a name="API_ListFileTransferResults"></a>

 Returns real-time updates and detailed information on the status of each individual file being transferred in a specific file transfer operation. You specify the file transfer by providing its `ConnectorId` and its `TransferId`.

**Note**  
File transfer results are available up to 7 days after an operation has been requested.

## Request Syntax
<a name="API_ListFileTransferResults_RequestSyntax"></a>

```
{
   "ConnectorId": "string",
   "MaxResults": number,
   "NextToken": "string",
   "TransferId": "string"
}
```

## Request Parameters
<a name="API_ListFileTransferResults_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ConnectorId](#API_ListFileTransferResults_RequestSyntax) **   <a name="TransferFamily-ListFileTransferResults-request-ConnectorId"></a>
A unique identifier for a connector. This value should match the value supplied to the corresponding `StartFileTransfer` call.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})`   
Required: Yes

 ** [MaxResults](#API_ListFileTransferResults_RequestSyntax) **   <a name="TransferFamily-ListFileTransferResults-request-MaxResults"></a>
The maximum number of files to return in a single page. Note that currently you can specify a maximum of 10 file paths in a single [StartFileTransfer](https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartFileTransfer.html) operation. Thus, the maximum number of file transfer results that can be returned in a single page is 10.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListFileTransferResults_RequestSyntax) **   <a name="TransferFamily-ListFileTransferResults-request-NextToken"></a>
If there are more file details than returned in this call, use this value for a subsequent call to `ListFileTransferResults` to retrieve them.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

 ** [TransferId](#API_ListFileTransferResults_RequestSyntax) **   <a name="TransferFamily-ListFileTransferResults-request-TransferId"></a>
A unique identifier for a file transfer. This value should match the value supplied to the corresponding `StartFileTransfer` call.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 512.  
Pattern: `[0-9a-zA-Z./-]+`   
Required: Yes

## Response Syntax
<a name="API_ListFileTransferResults_ResponseSyntax"></a>

```
{
   "FileTransferResults": [ 
      { 
         "FailureCode": "string",
         "FailureMessage": "string",
         "FilePath": "string",
         "StatusCode": "string"
      }
   ],
   "NextToken": "string"
}
```

## Response Elements
<a name="API_ListFileTransferResults_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [FileTransferResults](#API_ListFileTransferResults_ResponseSyntax) **   <a name="TransferFamily-ListFileTransferResults-response-FileTransferResults"></a>
Returns the details for the files transferred in the transfer identified by the `TransferId` and `ConnectorId` specified.  
+  `FilePath`: the filename and path to where the file was sent to or retrieved from.
+  `StatusCode`: current status for the transfer. The status returned is one of the following values:`QUEUED`, `IN_PROGRESS`, `COMPLETED`, or `FAILED` 
+  `FailureCode`: for transfers that fail, this parameter contains a code indicating the reason. For example, `RETRIEVE_FILE_NOT_FOUND` 
+  `FailureMessage`: for transfers that fail, this parameter describes the reason for the failure.
Type: Array of [ConnectorFileTransferResult](API_ConnectorFileTransferResult.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 1000 items.

 ** [NextToken](#API_ListFileTransferResults_ResponseSyntax) **   <a name="TransferFamily-ListFileTransferResults-response-NextToken"></a>
Returns a token that you can use to call `ListFileTransferResults` again and receive additional results, if there are any (against the same `TransferId`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

## Errors
<a name="API_ListFileTransferResults_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_ListFileTransferResults_Examples"></a>

### Example
<a name="API_ListFileTransferResults_Example_1"></a>

The following example returns a list of files for connector ID `a-11112222333344444` and transfer ID `aa1b2c3d4-5678-90ab-cdef-EXAMPLE11111`.

#### Sample Request
<a name="API_ListFileTransferResults_Example_1_Request"></a>

```
aws transfer listFileTransferResults --connector-id a-11112222333344444 --transfer-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
```

### Example
<a name="API_ListFileTransferResults_Example_2"></a>

An example response looks like the following.

#### Sample Response
<a name="API_ListFileTransferResults_Example_2_Response"></a>

```
{
  "FileTransferResults": [ 
    {
      "FilePath" : "my-stuff/hello.txt",
      "StatusCode": "COMPLETED"
    },
    {
      "FilePath" : "my-stuff/texting.txt",
      "StatusCode": "FAILED",
      "FailureCode": "RETRIEVE_FILE_NOT_FOUND",
      "FailureMessage": "SFTP error (SSH_FX_NO_SUCH_FILE)"
    }
  ],  
  "NextToken": "1111111"
}
```

## See Also
<a name="API_ListFileTransferResults_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListFileTransferResults) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListFileTransferResults) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListFileTransferResults) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListFileTransferResults) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListFileTransferResults) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListFileTransferResults) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListFileTransferResults) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListFileTransferResults) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListFileTransferResults) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListFileTransferResults) 

# ListHostKeys
<a name="API_ListHostKeys"></a>

Returns a list of host keys for the server that's specified by the `ServerId` parameter.

## Request Syntax
<a name="API_ListHostKeys_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_ListHostKeys_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListHostKeys_RequestSyntax) **   <a name="TransferFamily-ListHostKeys-request-MaxResults"></a>
The maximum number of items to return.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListHostKeys_RequestSyntax) **   <a name="TransferFamily-ListHostKeys-request-NextToken"></a>
When there are additional results that were not returned, a `NextToken` parameter is returned. You can use that value for a subsequent call to `ListHostKeys` to continue listing results.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

 ** [ServerId](#API_ListHostKeys_RequestSyntax) **   <a name="TransferFamily-ListHostKeys-request-ServerId"></a>
The identifier of the server that contains the host keys that you want to view.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_ListHostKeys_ResponseSyntax"></a>

```
{
   "HostKeys": [ 
      { 
         "Arn": "string",
         "DateImported": number,
         "Description": "string",
         "Fingerprint": "string",
         "HostKeyId": "string",
         "Type": "string"
      }
   ],
   "NextToken": "string",
   "ServerId": "string"
}
```

## Response Elements
<a name="API_ListHostKeys_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [HostKeys](#API_ListHostKeys_ResponseSyntax) **   <a name="TransferFamily-ListHostKeys-response-HostKeys"></a>
Returns an array, where each item contains the details of a host key.  
Type: Array of [ListedHostKey](API_ListedHostKey.md) objects

 ** [NextToken](#API_ListHostKeys_ResponseSyntax) **   <a name="TransferFamily-ListHostKeys-response-NextToken"></a>
Returns a token that you can use to call `ListHostKeys` again and receive additional results, if there are any.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

 ** [ServerId](#API_ListHostKeys_ResponseSyntax) **   <a name="TransferFamily-ListHostKeys-response-ServerId"></a>
Returns the server identifier that contains the listed host keys.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

## Errors
<a name="API_ListHostKeys_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_ListHostKeys_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListHostKeys) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListHostKeys) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListHostKeys) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListHostKeys) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListHostKeys) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListHostKeys) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListHostKeys) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListHostKeys) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListHostKeys) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListHostKeys) 

# ListProfiles
<a name="API_ListProfiles"></a>

Returns a list of the profiles for your system. If you want to limit the results to a certain number, supply a value for the `MaxResults` parameter. If you ran the command previously and received a value for `NextToken`, you can supply that value to continue listing profiles from where you left off.

## Request Syntax
<a name="API_ListProfiles_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string",
   "ProfileType": "string"
}
```

## Request Parameters
<a name="API_ListProfiles_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListProfiles_RequestSyntax) **   <a name="TransferFamily-ListProfiles-request-MaxResults"></a>
The maximum number of items to return.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListProfiles_RequestSyntax) **   <a name="TransferFamily-ListProfiles-request-NextToken"></a>
When there are additional results that were not returned, a `NextToken` parameter is returned. You can use that value for a subsequent call to `ListProfiles` to continue listing results.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

 ** [ProfileType](#API_ListProfiles_RequestSyntax) **   <a name="TransferFamily-ListProfiles-request-ProfileType"></a>
Indicates whether to list only `LOCAL` type profiles or only `PARTNER` type profiles. If not supplied in the request, the command lists all types of profiles.  
Type: String  
Valid Values: `LOCAL | PARTNER`   
Required: No

## Response Syntax
<a name="API_ListProfiles_ResponseSyntax"></a>

```
{
   "NextToken": "string",
   "Profiles": [ 
      { 
         "Arn": "string",
         "As2Id": "string",
         "ProfileId": "string",
         "ProfileType": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListProfiles_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextToken](#API_ListProfiles_ResponseSyntax) **   <a name="TransferFamily-ListProfiles-response-NextToken"></a>
Returns a token that you can use to call `ListProfiles` again and receive additional results, if there are any.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

 ** [Profiles](#API_ListProfiles_ResponseSyntax) **   <a name="TransferFamily-ListProfiles-response-Profiles"></a>
Returns an array, where each item contains the details of a profile.  
Type: Array of [ListedProfile](API_ListedProfile.md) objects

## Errors
<a name="API_ListProfiles_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_ListProfiles_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListProfiles) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListProfiles) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListProfiles) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListProfiles) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListProfiles) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListProfiles) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListProfiles) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListProfiles) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListProfiles) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListProfiles) 

# ListSecurityPolicies
<a name="API_ListSecurityPolicies"></a>

Lists the security policies that are attached to your servers and SFTP connectors. For more information about security policies, see [Working with security policies for servers](https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html) or [Working with security policies for SFTP connectors](https://docs.aws.amazon.com/transfer/latest/userguide/security-policies-connectors.html).

## Request Syntax
<a name="API_ListSecurityPolicies_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters
<a name="API_ListSecurityPolicies_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListSecurityPolicies_RequestSyntax) **   <a name="TransferFamily-ListSecurityPolicies-request-MaxResults"></a>
Specifies the number of security policies to return as a response to the `ListSecurityPolicies` query.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListSecurityPolicies_RequestSyntax) **   <a name="TransferFamily-ListSecurityPolicies-request-NextToken"></a>
When additional results are obtained from the `ListSecurityPolicies` command, a `NextToken` parameter is returned in the output. You can then pass the `NextToken` parameter in a subsequent command to continue listing additional security policies.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

## Response Syntax
<a name="API_ListSecurityPolicies_ResponseSyntax"></a>

```
{
   "NextToken": "string",
   "SecurityPolicyNames": [ "string" ]
}
```

## Response Elements
<a name="API_ListSecurityPolicies_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextToken](#API_ListSecurityPolicies_ResponseSyntax) **   <a name="TransferFamily-ListSecurityPolicies-response-NextToken"></a>
When you can get additional results from the `ListSecurityPolicies` operation, a `NextToken` parameter is returned in the output. In a following command, you can pass in the `NextToken` parameter to continue listing security policies.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

 ** [SecurityPolicyNames](#API_ListSecurityPolicies_ResponseSyntax) **   <a name="TransferFamily-ListSecurityPolicies-response-SecurityPolicyNames"></a>
An array of security policies that were listed.  
Type: Array of strings  
Length Constraints: Minimum length of 0. Maximum length of 100.  
Pattern: `Transfer[A-Za-z0-9]*SecurityPolicy-[A-Za-z0-9-]+` 

## Errors
<a name="API_ListSecurityPolicies_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_ListSecurityPolicies_Examples"></a>

### Example
<a name="API_ListSecurityPolicies_Example_1"></a>

The following example lists the names for all available security policies.

#### Sample Request
<a name="API_ListSecurityPolicies_Example_1_Request"></a>

```
aws transfer list-security-policies
```

#### Sample Response
<a name="API_ListSecurityPolicies_Example_1_Response"></a>

```
{
    "SecurityPolicyNames": [
        "TransferSecurityPolicy-2023-05",
        "TransferSecurityPolicy-2022-03",
        "TransferSecurityPolicy-FIPS-2024-01",
        "TransferSecurityPolicy-2024-01",
        "TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04",
        "TransferSecurityPolicy-PQ-SSH-Experimental-2023-04",
        "TransferSecurityPolicy-FIPS-2020-06",
        "TransferSecurityPolicy-2020-06",
        "TransferSecurityPolicy-2018-11",
        "TransferSecurityPolicy-FIPS-2023-05"
    ]
}
```

## See Also
<a name="API_ListSecurityPolicies_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListSecurityPolicies) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListSecurityPolicies) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListSecurityPolicies) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListSecurityPolicies) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListSecurityPolicies) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListSecurityPolicies) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListSecurityPolicies) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListSecurityPolicies) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListSecurityPolicies) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListSecurityPolicies) 

# ListServers
<a name="API_ListServers"></a>

Lists the file transfer protocol-enabled servers that are associated with your AWS account.

## Request Syntax
<a name="API_ListServers_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters
<a name="API_ListServers_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListServers_RequestSyntax) **   <a name="TransferFamily-ListServers-request-MaxResults"></a>
Specifies the number of servers to return as a response to the `ListServers` query.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListServers_RequestSyntax) **   <a name="TransferFamily-ListServers-request-NextToken"></a>
When additional results are obtained from the `ListServers` command, a `NextToken` parameter is returned in the output. You can then pass the `NextToken` parameter in a subsequent command to continue listing additional servers.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

## Response Syntax
<a name="API_ListServers_ResponseSyntax"></a>

```
{
   "NextToken": "string",
   "Servers": [ 
      { 
         "Arn": "string",
         "Domain": "string",
         "EndpointType": "string",
         "IdentityProviderType": "string",
         "LoggingRole": "string",
         "ServerId": "string",
         "State": "string",
         "UserCount": number
      }
   ]
}
```

## Response Elements
<a name="API_ListServers_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextToken](#API_ListServers_ResponseSyntax) **   <a name="TransferFamily-ListServers-response-NextToken"></a>
When you can get additional results from the `ListServers` operation, a `NextToken` parameter is returned in the output. In a following command, you can pass in the `NextToken` parameter to continue listing additional servers.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

 ** [Servers](#API_ListServers_ResponseSyntax) **   <a name="TransferFamily-ListServers-response-Servers"></a>
An array of servers that were listed.  
Type: Array of [ListedServer](API_ListedServer.md) objects

## Errors
<a name="API_ListServers_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_ListServers_Examples"></a>

### Example
<a name="API_ListServers_Example_1"></a>

The following example lists the servers that exist in your AWS account.

Note that the example `NextToken` values are not real: they are meant to indicate how to use the parameter.

#### Sample Request
<a name="API_ListServers_Example_1_Request"></a>

```
{
   "MaxResults": 1,
   "NextToken": "token-from-previous-API-call"
}
```

#### Sample Response
<a name="API_ListServers_Example_1_Response"></a>

```
{
   "NextToken": "another-token-to-continue-listing",
   "Servers": [
      {
         "Arn": "arn:aws:transfer:us-east-1:111112222222:server/s-01234567890abcdef",
         "Domain": "S3",
         "IdentityProviderType": "SERVICE_MANAGED",
         "EndpointType": "PUBLIC",
         "LoggingRole": "arn:aws:iam::111112222222:role/my-role",
         "ServerId": "s-01234567890abcdef",
         "State": "ONLINE",
         "UserCount": 3
      }
   ]
}
```

## See Also
<a name="API_ListServers_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListServers) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListServers) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListServers) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListServers) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListServers) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListServers) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListServers) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListServers) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListServers) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListServers) 

# ListTagsForResource
<a name="API_ListTagsForResource"></a>

Lists all of the tags associated with the Amazon Resource Name (ARN) that you specify. The resource can be a user, server, or role.

## Request Syntax
<a name="API_ListTagsForResource_RequestSyntax"></a>

```
{
   "Arn": "string",
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters
<a name="API_ListTagsForResource_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Arn](#API_ListTagsForResource_RequestSyntax) **   <a name="TransferFamily-ListTagsForResource-request-Arn"></a>
Requests the tags associated with a particular Amazon Resource Name (ARN). An ARN is an identifier for a specific AWS resource, such as a server, user, or role.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 1600.  
Pattern: `arn:\S+`   
Required: Yes

 ** [MaxResults](#API_ListTagsForResource_RequestSyntax) **   <a name="TransferFamily-ListTagsForResource-request-MaxResults"></a>
Specifies the number of tags to return as a response to the `ListTagsForResource` request.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListTagsForResource_RequestSyntax) **   <a name="TransferFamily-ListTagsForResource-request-NextToken"></a>
When you request additional results from the `ListTagsForResource` operation, a `NextToken` parameter is returned in the input. You can then pass in a subsequent command to the `NextToken` parameter to continue listing additional tags.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

## Response Syntax
<a name="API_ListTagsForResource_ResponseSyntax"></a>

```
{
   "Arn": "string",
   "NextToken": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListTagsForResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Arn](#API_ListTagsForResource_ResponseSyntax) **   <a name="TransferFamily-ListTagsForResource-response-Arn"></a>
The ARN you specified to list the tags of.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 1600.  
Pattern: `arn:\S+` 

 ** [NextToken](#API_ListTagsForResource_ResponseSyntax) **   <a name="TransferFamily-ListTagsForResource-response-NextToken"></a>
When you can get additional results from the `ListTagsForResource` call, a `NextToken` parameter is returned in the output. You can then pass in a subsequent command to the `NextToken` parameter to continue listing additional tags.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

 ** [Tags](#API_ListTagsForResource_ResponseSyntax) **   <a name="TransferFamily-ListTagsForResource-response-Tags"></a>
Key-value pairs that are assigned to a resource, usually for the purpose of grouping and searching for items. Tags are metadata that you define.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.

## Errors
<a name="API_ListTagsForResource_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_ListTagsForResource_Examples"></a>

### Example
<a name="API_ListTagsForResource_Example_1"></a>

The following example lists the tags for the resource with the ARN you specified.

#### Sample Request
<a name="API_ListTagsForResource_Example_1_Request"></a>

```
{
   "Arn": "arn:aws:transfer:us-east-1:176354371281:server/s-01234567890abcdef"
}
```

### Example
<a name="API_ListTagsForResource_Example_2"></a>

This example illustrates one usage of ListTagsForResource.

#### Sample Response
<a name="API_ListTagsForResource_Example_2_Response"></a>

```
{
   "Tags": [ 
      { 
         "Key": "Name",
         "Value": "MyServer"
      }
   ]
}
```

## See Also
<a name="API_ListTagsForResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListTagsForResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListTagsForResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListTagsForResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListTagsForResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListTagsForResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListTagsForResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListTagsForResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListTagsForResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListTagsForResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListTagsForResource) 

# ListUsers
<a name="API_ListUsers"></a>

Lists the users for a file transfer protocol-enabled server that you specify by passing the `ServerId` parameter.

## Request Syntax
<a name="API_ListUsers_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_ListUsers_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListUsers_RequestSyntax) **   <a name="TransferFamily-ListUsers-request-MaxResults"></a>
Specifies the number of users to return as a response to the `ListUsers` request.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListUsers_RequestSyntax) **   <a name="TransferFamily-ListUsers-request-NextToken"></a>
If there are additional results from the `ListUsers` call, a `NextToken` parameter is returned in the output. You can then pass the `NextToken` to a subsequent `ListUsers` command, to continue listing additional users.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

 ** [ServerId](#API_ListUsers_RequestSyntax) **   <a name="TransferFamily-ListUsers-request-ServerId"></a>
A system-assigned unique identifier for a server that has users assigned to it.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_ListUsers_ResponseSyntax"></a>

```
{
   "NextToken": "string",
   "ServerId": "string",
   "Users": [ 
      { 
         "Arn": "string",
         "HomeDirectory": "string",
         "HomeDirectoryType": "string",
         "Role": "string",
         "SshPublicKeyCount": number,
         "UserName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListUsers_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextToken](#API_ListUsers_ResponseSyntax) **   <a name="TransferFamily-ListUsers-response-NextToken"></a>
When you can get additional results from the `ListUsers` call, a `NextToken` parameter is returned in the output. You can then pass in a subsequent command to the `NextToken` parameter to continue listing additional users.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

 ** [ServerId](#API_ListUsers_ResponseSyntax) **   <a name="TransferFamily-ListUsers-response-ServerId"></a>
A system-assigned unique identifier for a server that the users are assigned to.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

 ** [Users](#API_ListUsers_ResponseSyntax) **   <a name="TransferFamily-ListUsers-response-Users"></a>
Returns the Transfer Family users and their properties for the `ServerId` value that you specify.  
Type: Array of [ListedUser](API_ListedUser.md) objects

## Errors
<a name="API_ListUsers_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_ListUsers_Examples"></a>

### Example
<a name="API_ListUsers_Example_1"></a>

The `ListUsers` API call returns a list of users associated with a server you specify.

#### Sample Request
<a name="API_ListUsers_Example_1_Request"></a>

```
     
         {
          "MaxResults": 100,
          "NextToken": "eyJNYXJrZXIiOiBudWxsLCAiYm90b1X0cnVuU2F0ZV9hbW91bnQiOiAyfQ==",
          "ServerId": "s-01234567890abcdef"
          }
```

### Example
<a name="API_ListUsers_Example_2"></a>

This is a sample response for this API call.

#### Sample Response
<a name="API_ListUsers_Example_2_Response"></a>

```
{
   "NextToken": "eyJNYXJrZXIiOiBudWxsLCAiYm90b1X0cnVuU2F0ZV9hbW91bnQiOiAyfQ==",
   "ServerId": "s-01234567890abcdef",
   "Users": [ 
      { 
         "Arn": "arn:aws:transfer:us-east-1:176354371281:user/s-01234567890abcdef/charlie",
         "HomeDirectory": "/tests/home/charlie",
         "SshPublicKeyCount": 1,
         "Role": "arn:aws:iam::176354371281:role/transfer-role1",
         "Tags": [ 
            { 
               "Key": "Name",
               "Value": "user1"
            }
         ],
         "UserName": "my_user"
      }
   ]
}
```

## See Also
<a name="API_ListUsers_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListUsers) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListUsers) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListUsers) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListUsers) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListUsers) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListUsers) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListUsers) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListUsers) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListUsers) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListUsers) 

# ListWebApps
<a name="API_ListWebApps"></a>

Lists all web apps associated with your AWS account for your current region. The response includes the endpoint type for each web app, showing whether it is publicly accessible or VPC hosted.

For more information about using VPC endpoints with AWS Transfer Family, see [Create a Transfer Family web app in a VPC](https://docs.aws.amazon.com/transfer/latest/userguide/create-webapp-in-vpc.html).

## Request Syntax
<a name="API_ListWebApps_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters
<a name="API_ListWebApps_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListWebApps_RequestSyntax) **   <a name="TransferFamily-ListWebApps-request-MaxResults"></a>
The maximum number of items to return.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListWebApps_RequestSyntax) **   <a name="TransferFamily-ListWebApps-request-NextToken"></a>
Returns the `NextToken` parameter in the output. You can then pass the `NextToken` parameter in a subsequent command to continue listing additional web apps.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

## Response Syntax
<a name="API_ListWebApps_ResponseSyntax"></a>

```
{
   "NextToken": "string",
   "WebApps": [ 
      { 
         "AccessEndpoint": "string",
         "Arn": "string",
         "EndpointType": "string",
         "WebAppEndpoint": "string",
         "WebAppId": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListWebApps_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextToken](#API_ListWebApps_ResponseSyntax) **   <a name="TransferFamily-ListWebApps-response-NextToken"></a>
Provide this value for the `NextToken` parameter in a subsequent command to continue listing additional web apps.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

 ** [WebApps](#API_ListWebApps_ResponseSyntax) **   <a name="TransferFamily-ListWebApps-response-WebApps"></a>
Returns, for each listed web app, a structure that contains details for the web app.  
Type: Array of [ListedWebApp](API_ListedWebApp.md) objects

## Errors
<a name="API_ListWebApps_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_ListWebApps_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListWebApps) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListWebApps) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListWebApps) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListWebApps) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListWebApps) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListWebApps) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListWebApps) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListWebApps) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListWebApps) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListWebApps) 

# ListWorkflows
<a name="API_ListWorkflows"></a>

Lists all workflows associated with your AWS account for your current region.

## Request Syntax
<a name="API_ListWorkflows_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters
<a name="API_ListWorkflows_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListWorkflows_RequestSyntax) **   <a name="TransferFamily-ListWorkflows-request-MaxResults"></a>
The maximum number of items to return.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListWorkflows_RequestSyntax) **   <a name="TransferFamily-ListWorkflows-request-NextToken"></a>
 `ListWorkflows` returns the `NextToken` parameter in the output. You can then pass the `NextToken` parameter in a subsequent command to continue listing additional workflows.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Required: No

## Response Syntax
<a name="API_ListWorkflows_ResponseSyntax"></a>

```
{
   "NextToken": "string",
   "Workflows": [ 
      { 
         "Arn": "string",
         "Description": "string",
         "WorkflowId": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListWorkflows_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextToken](#API_ListWorkflows_ResponseSyntax) **   <a name="TransferFamily-ListWorkflows-response-NextToken"></a>
 `ListWorkflows` returns the `NextToken` parameter in the output. You can then pass the `NextToken` parameter in a subsequent command to continue listing additional workflows.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.

 ** [Workflows](#API_ListWorkflows_ResponseSyntax) **   <a name="TransferFamily-ListWorkflows-response-Workflows"></a>
Returns the `Arn`, `WorkflowId`, and `Description` for each workflow.  
Type: Array of [ListedWorkflow](API_ListedWorkflow.md) objects

## Errors
<a name="API_ListWorkflows_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The `NextToken` parameter that was passed is invalid.  
HTTP Status Code: 400

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## See Also
<a name="API_ListWorkflows_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/ListWorkflows) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/ListWorkflows) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/ListWorkflows) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/ListWorkflows) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/ListWorkflows) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/ListWorkflows) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/ListWorkflows) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/ListWorkflows) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/ListWorkflows) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/ListWorkflows) 

# SendWorkflowStepState
<a name="API_SendWorkflowStepState"></a>

Sends a callback for asynchronous custom steps.

 The `ExecutionId`, `WorkflowId`, and `Token` are passed to the target resource during execution of a custom step of a workflow. You must include those with their callback as well as providing a status. 

## Request Syntax
<a name="API_SendWorkflowStepState_RequestSyntax"></a>

```
{
   "ExecutionId": "string",
   "Status": "string",
   "Token": "string",
   "WorkflowId": "string"
}
```

## Request Parameters
<a name="API_SendWorkflowStepState_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ExecutionId](#API_SendWorkflowStepState_RequestSyntax) **   <a name="TransferFamily-SendWorkflowStepState-request-ExecutionId"></a>
A unique identifier for the execution of a workflow.  
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}`   
Required: Yes

 ** [Status](#API_SendWorkflowStepState_RequestSyntax) **   <a name="TransferFamily-SendWorkflowStepState-request-Status"></a>
Indicates whether the specified step succeeded or failed.  
Type: String  
Valid Values: `SUCCESS | FAILURE`   
Required: Yes

 ** [Token](#API_SendWorkflowStepState_RequestSyntax) **   <a name="TransferFamily-SendWorkflowStepState-request-Token"></a>
Used to distinguish between multiple callbacks for multiple Lambda steps within the same execution.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `\w+`   
Required: Yes

 ** [WorkflowId](#API_SendWorkflowStepState_RequestSyntax) **   <a name="TransferFamily-SendWorkflowStepState-request-WorkflowId"></a>
A unique identifier for the workflow.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `w-([a-z0-9]{17})`   
Required: Yes

## Response Elements
<a name="API_SendWorkflowStepState_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_SendWorkflowStepState_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_SendWorkflowStepState_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/SendWorkflowStepState) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/SendWorkflowStepState) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/SendWorkflowStepState) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/SendWorkflowStepState) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/SendWorkflowStepState) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/SendWorkflowStepState) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/SendWorkflowStepState) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/SendWorkflowStepState) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/SendWorkflowStepState) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/SendWorkflowStepState) 

# StartDirectoryListing
<a name="API_StartDirectoryListing"></a>

Retrieves a list of the contents of a directory from a remote SFTP server. You specify the connector ID, the output path, and the remote directory path. You can also specify the optional `MaxItems` value to control the maximum number of items that are listed from the remote directory. This API returns a list of all files and directories in the remote directory (up to the maximum value), but does not return files or folders in sub-directories. That is, it only returns a list of files and directories one-level deep.

After you receive the listing file, you can provide the files that you want to transfer to the `RetrieveFilePaths` parameter of the `StartFileTransfer` API call.

The naming convention for the output file is ` connector-ID-listing-ID.json`. The output file contains the following information:
+  `filePath`: the complete path of a remote file, relative to the directory of the listing request for your SFTP connector on the remote server.
+  `modifiedTimestamp`: the last time the file was modified, in UTC time format. This field is optional. If the remote file attributes don't contain a timestamp, it is omitted from the file listing.
+  `size`: the size of the file, in bytes. This field is optional. If the remote file attributes don't contain a file size, it is omitted from the file listing.
+  `path`: the complete path of a remote directory, relative to the directory of the listing request for your SFTP connector on the remote server.
+  `truncated`: a flag indicating whether the list output contains all of the items contained in the remote directory or not. If your `Truncated` output value is true, you can increase the value provided in the optional `max-items` input attribute to be able to list more items (up to the maximum allowed list size of 10,000 items).

## Request Syntax
<a name="API_StartDirectoryListing_RequestSyntax"></a>

```
{
   "ConnectorId": "string",
   "MaxItems": number,
   "OutputDirectoryPath": "string",
   "RemoteDirectoryPath": "string"
}
```

## Request Parameters
<a name="API_StartDirectoryListing_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ConnectorId](#API_StartDirectoryListing_RequestSyntax) **   <a name="TransferFamily-StartDirectoryListing-request-ConnectorId"></a>
The unique identifier for the connector.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})`   
Required: Yes

 ** [MaxItems](#API_StartDirectoryListing_RequestSyntax) **   <a name="TransferFamily-StartDirectoryListing-request-MaxItems"></a>
An optional parameter where you can specify the maximum number of file/directory names to retrieve. The default value is 1,000.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 10000.  
Required: No

 ** [OutputDirectoryPath](#API_StartDirectoryListing_RequestSyntax) **   <a name="TransferFamily-StartDirectoryListing-request-OutputDirectoryPath"></a>
Specifies the path (bucket and prefix) in Amazon S3 storage to store the results of the directory listing.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `(.)+`   
Required: Yes

 ** [RemoteDirectoryPath](#API_StartDirectoryListing_RequestSyntax) **   <a name="TransferFamily-StartDirectoryListing-request-RemoteDirectoryPath"></a>
Specifies the directory on the remote SFTP server for which you want to list its contents.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `(.)+`   
Required: Yes

## Response Syntax
<a name="API_StartDirectoryListing_ResponseSyntax"></a>

```
{
   "ListingId": "string",
   "OutputFileName": "string"
}
```

## Response Elements
<a name="API_StartDirectoryListing_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ListingId](#API_StartDirectoryListing_ResponseSyntax) **   <a name="TransferFamily-StartDirectoryListing-response-ListingId"></a>
Returns a unique identifier for the directory listing call.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 512.  
Pattern: `[0-9a-zA-Z./-]+` 

 ** [OutputFileName](#API_StartDirectoryListing_ResponseSyntax) **   <a name="TransferFamily-StartDirectoryListing-response-OutputFileName"></a>
Returns the file name where the results are stored. This is a combination of the connector ID and the listing ID: `<connector-id>-<listing-id>.json`.  
Type: String  
Length Constraints: Minimum length of 26. Maximum length of 537.  
Pattern: `c-([0-9a-f]{17})-[0-9a-zA-Z./-]+.json` 

## Errors
<a name="API_StartDirectoryListing_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_StartDirectoryListing_Examples"></a>

### Example
<a name="API_StartDirectoryListing_Example_1"></a>

The following example lists the contents of the `home` folder on the remote SFTP server, which is identified by the specified connector. The results are placed into the Amazon S3 location `/amzn-s3-demo-bucket/connector-files`, and into a file named `c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json`.

#### Sample Request
<a name="API_StartDirectoryListing_Example_1_Request"></a>

```
{    
    "ConnectorId": "c-AAAA1111BBBB2222C",
    "MaxItems": "10",
    "OutputDirectoryPath": "/amzn-s3-demo-bucket/connector-files",
    "RemoteDirectoryPath": "/home"
}
```

#### Sample Response
<a name="API_StartDirectoryListing_Example_1_Response"></a>

```
{
    "ListingId": "6666abcd-11aa-22bb-cc33-0000aaaa3333",
    "OutputFileName": "c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json"
}
```

```
// under bucket "amzn-s3-demo-bucket"
connector-files/c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json
{
    "files": [
        {
            "filePath": "/home/what.txt",
            "modifiedTimestamp": "2024-01-30T20:34:54Z",
            "size" : 2323
        },
        {
            "filePath": "/home/how.pgp",
            "modifiedTimestamp": "2024-01-30T20:34:54Z",
            "size" : 51238
        }
    ],
    "paths": [
        {
            "path": "/home/magic"
        },
        {
            "path": "/home/aws"
        },
    ],
    "truncated": false
}
```

## See Also
<a name="API_StartDirectoryListing_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/StartDirectoryListing) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/StartDirectoryListing) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/StartDirectoryListing) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/StartDirectoryListing) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/StartDirectoryListing) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/StartDirectoryListing) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/StartDirectoryListing) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/StartDirectoryListing) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/StartDirectoryListing) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/StartDirectoryListing) 

# StartFileTransfer
<a name="API_StartFileTransfer"></a>

Begins a file transfer between local AWS storage and a remote AS2 or SFTP server.
+ For an AS2 connector, you specify the `ConnectorId` and one or more `SendFilePaths` to identify the files you want to transfer.
+ For an SFTP connector, the file transfer can be either outbound or inbound. In both cases, you specify the `ConnectorId`. Depending on the direction of the transfer, you also specify the following items:
  + If you are transferring file from a partner's SFTP server to Amazon Web Services storage, you specify one or more `RetrieveFilePaths` to identify the files you want to transfer, and a `LocalDirectoryPath` to specify the destination folder.
  + If you are transferring file to a partner's SFTP server from AWS storage, you specify one or more `SendFilePaths` to identify the files you want to transfer, and a `RemoteDirectoryPath` to specify the destination folder.

## Request Syntax
<a name="API_StartFileTransfer_RequestSyntax"></a>

```
{
   "ConnectorId": "string",
   "CustomHttpHeaders": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "LocalDirectoryPath": "string",
   "RemoteDirectoryPath": "string",
   "RetrieveFilePaths": [ "string" ],
   "SendFilePaths": [ "string" ]
}
```

## Request Parameters
<a name="API_StartFileTransfer_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ConnectorId](#API_StartFileTransfer_RequestSyntax) **   <a name="TransferFamily-StartFileTransfer-request-ConnectorId"></a>
The unique identifier for the connector.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})`   
Required: Yes

 ** [CustomHttpHeaders](#API_StartFileTransfer_RequestSyntax) **   <a name="TransferFamily-StartFileTransfer-request-CustomHttpHeaders"></a>
An array of key-value pairs that represent custom HTTP headers to include in AS2 messages. These headers are added to the AS2 message when sending files to your trading partner.  
Type: Array of [CustomHttpHeader](API_CustomHttpHeader.md) objects  
Required: No

 ** [LocalDirectoryPath](#API_StartFileTransfer_RequestSyntax) **   <a name="TransferFamily-StartFileTransfer-request-LocalDirectoryPath"></a>
For an inbound transfer, the `LocaDirectoryPath` specifies the destination for one or more files that are transferred from the partner's SFTP server.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `(.)+`   
Required: No

 ** [RemoteDirectoryPath](#API_StartFileTransfer_RequestSyntax) **   <a name="TransferFamily-StartFileTransfer-request-RemoteDirectoryPath"></a>
For an outbound transfer, the `RemoteDirectoryPath` specifies the destination for one or more files that are transferred to the partner's SFTP server. If you don't specify a `RemoteDirectoryPath`, the destination for transferred files is the SFTP user's home directory.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `(.)+`   
Required: No

 ** [RetrieveFilePaths](#API_StartFileTransfer_RequestSyntax) **   <a name="TransferFamily-StartFileTransfer-request-RetrieveFilePaths"></a>
One or more source paths for the partner's SFTP server. Each string represents a source file path for one inbound file transfer.  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 10 items.  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `(.)+`   
Required: No

 ** [SendFilePaths](#API_StartFileTransfer_RequestSyntax) **   <a name="TransferFamily-StartFileTransfer-request-SendFilePaths"></a>
One or more source paths for the Amazon S3 storage. Each string represents a source file path for one outbound file transfer. For example, ` amzn-s3-demo-bucket/myfile.txt `.  
Replace ` amzn-s3-demo-bucket ` with one of your actual buckets.
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 10 items.  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `(.)+`   
Required: No

## Response Syntax
<a name="API_StartFileTransfer_ResponseSyntax"></a>

```
{
   "TransferId": "string"
}
```

## Response Elements
<a name="API_StartFileTransfer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [TransferId](#API_StartFileTransfer_ResponseSyntax) **   <a name="TransferFamily-StartFileTransfer-response-TransferId"></a>
Returns the unique identifier for the file transfer.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 512.  
Pattern: `[0-9a-zA-Z./-]+` 

## Errors
<a name="API_StartFileTransfer_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_StartFileTransfer_Examples"></a>

### Example
<a name="API_StartFileTransfer_Example_1"></a>

The following example starts an AS2 file transfer from a Transfer Family server to a remote trading partner's endpoint. Replace ` amzn-s3-demo-bucket ` with one of your actual buckets.

#### Sample Request
<a name="API_StartFileTransfer_Example_1_Request"></a>

```
{    
    "ConnectorId": "c-AAAA1111BBBB2222C",
    "SendFilePaths": [
        "/amzn-s3-demo-bucket/myfile-1.txt",
        "/amzn-s3-demo-bucket/myfile-2.txt",
        "/amzn-s3-demo-bucket/myfile-3.txt"
    ]
}
```

#### Sample Response
<a name="API_StartFileTransfer_Example_1_Response"></a>

```
{
   "TransferId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}
```

### Example
<a name="API_StartFileTransfer_Example_2"></a>

The following example starts a file transfer from local AWS storage to a remote SFTP server.

#### Sample Request
<a name="API_StartFileTransfer_Example_2_Request"></a>

```
{
    "ConnectorId": "c-01234567890abcdef",
    "SendFilePaths": [
        "/amzn-s3-demo-bucket/myfile-1.txt",
        "/amzn-s3-demo-bucket/myfile-2.txt",
        "/amzn-s3-demo-bucket/myfile-3.txt"
    ],
    "RemoteDirectoryPath": "/MySFTPRootFolder/fromTranferFamilyServer"
}
```

#### Sample Response
<a name="API_StartFileTransfer_Example_2_Response"></a>

```
{
   "TransferId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"
}
```

### Example
<a name="API_StartFileTransfer_Example_3"></a>

The following example starts a file transfer from a remote SFTP server to local AWS storage.

#### Sample Request
<a name="API_StartFileTransfer_Example_3_Request"></a>

```
{    
    "ConnectorId": "c-111122223333AAAAA",
    "RetrieveFilePaths": [
        "/MySFTPFolder/toTranferFamily/myfile-1.txt",
        "/MySFTPFolder/toTranferFamily/myfile-2.txt",
        "/MySFTPFolder/toTranferFamily/myfile-3.txt"
    ],
    "LocalDirectoryPath": "/amzn-s3-demo-bucket/mySourceFiles"
}
```

#### Sample Response
<a name="API_StartFileTransfer_Example_3_Response"></a>

```
{
   "TransferId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa"
}
```

## See Also
<a name="API_StartFileTransfer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/StartFileTransfer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/StartFileTransfer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/StartFileTransfer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/StartFileTransfer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/StartFileTransfer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/StartFileTransfer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/StartFileTransfer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/StartFileTransfer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/StartFileTransfer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/StartFileTransfer) 

# StartRemoteDelete
<a name="API_StartRemoteDelete"></a>

Deletes a file or directory on the remote SFTP server.

## Request Syntax
<a name="API_StartRemoteDelete_RequestSyntax"></a>

```
{
   "ConnectorId": "string",
   "DeletePath": "string"
}
```

## Request Parameters
<a name="API_StartRemoteDelete_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ConnectorId](#API_StartRemoteDelete_RequestSyntax) **   <a name="TransferFamily-StartRemoteDelete-request-ConnectorId"></a>
The unique identifier for the connector.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})`   
Required: Yes

 ** [DeletePath](#API_StartRemoteDelete_RequestSyntax) **   <a name="TransferFamily-StartRemoteDelete-request-DeletePath"></a>
The absolute path of the file or directory to delete. You can only specify one path per call to this operation.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `(.)+`   
Required: Yes

## Response Syntax
<a name="API_StartRemoteDelete_ResponseSyntax"></a>

```
{
   "DeleteId": "string"
}
```

## Response Elements
<a name="API_StartRemoteDelete_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [DeleteId](#API_StartRemoteDelete_ResponseSyntax) **   <a name="TransferFamily-StartRemoteDelete-response-DeleteId"></a>
Returns a unique identifier for the delete operation.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 512.  
Pattern: `[0-9a-zA-Z./-]+` 

## Errors
<a name="API_StartRemoteDelete_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_StartRemoteDelete_Examples"></a>

### Example
<a name="API_StartRemoteDelete_Example_1"></a>

The following example deletes a file on the remote SFTP server in the path `/delete/folder/deleteFile`, and returns a unique identifier for the operation.

```
aws transfer start-remote-delete --connector-id c-AAAA1111BBBB2222C \
   --delete-path /delete/folder/deleteFile
```

## See Also
<a name="API_StartRemoteDelete_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/StartRemoteDelete) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/StartRemoteDelete) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/StartRemoteDelete) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/StartRemoteDelete) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/StartRemoteDelete) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/StartRemoteDelete) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/StartRemoteDelete) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/StartRemoteDelete) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/StartRemoteDelete) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/StartRemoteDelete) 

# StartRemoteMove
<a name="API_StartRemoteMove"></a>

Moves or renames a file or directory on the remote SFTP server.

## Request Syntax
<a name="API_StartRemoteMove_RequestSyntax"></a>

```
{
   "ConnectorId": "string",
   "SourcePath": "string",
   "TargetPath": "string"
}
```

## Request Parameters
<a name="API_StartRemoteMove_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ConnectorId](#API_StartRemoteMove_RequestSyntax) **   <a name="TransferFamily-StartRemoteMove-request-ConnectorId"></a>
The unique identifier for the connector.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})`   
Required: Yes

 ** [SourcePath](#API_StartRemoteMove_RequestSyntax) **   <a name="TransferFamily-StartRemoteMove-request-SourcePath"></a>
The absolute path of the file or directory to move or rename. You can only specify one path per call to this operation.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `(.)+`   
Required: Yes

 ** [TargetPath](#API_StartRemoteMove_RequestSyntax) **   <a name="TransferFamily-StartRemoteMove-request-TargetPath"></a>
The absolute path for the target of the move/rename operation.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `(.)+`   
Required: Yes

## Response Syntax
<a name="API_StartRemoteMove_ResponseSyntax"></a>

```
{
   "MoveId": "string"
}
```

## Response Elements
<a name="API_StartRemoteMove_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [MoveId](#API_StartRemoteMove_ResponseSyntax) **   <a name="TransferFamily-StartRemoteMove-response-MoveId"></a>
Returns a unique identifier for the move/rename operation.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 512.  
Pattern: `[0-9a-zA-Z./-]+` 

## Errors
<a name="API_StartRemoteMove_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_StartRemoteMove_Examples"></a>

### Example
<a name="API_StartRemoteMove_Example_1"></a>

The following example moves a file on the remote SFTP server from `/source/folder/sourceFile` to `/destination/targetFile`, and returns a unique identifier for the operation.

```
aws transfer --connector-id c-AAAA1111BBBB2222C start-remote-move \
   --source-path /source/folder/sourceFile --target-path /destination/targetFile
```

## See Also
<a name="API_StartRemoteMove_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/StartRemoteMove) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/StartRemoteMove) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/StartRemoteMove) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/StartRemoteMove) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/StartRemoteMove) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/StartRemoteMove) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/StartRemoteMove) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/StartRemoteMove) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/StartRemoteMove) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/StartRemoteMove) 

# StartServer
<a name="API_StartServer"></a>

Changes the state of a file transfer protocol-enabled server from `OFFLINE` to `ONLINE`. It has no impact on a server that is already `ONLINE`. An `ONLINE` server can accept and process file transfer jobs.

The state of `STARTING` indicates that the server is in an intermediate state, either not fully able to respond, or not fully online. The values of `START_FAILED` can indicate an error condition.

No response is returned from this call.

## Request Syntax
<a name="API_StartServer_RequestSyntax"></a>

```
{
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_StartServer_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ServerId](#API_StartServer_RequestSyntax) **   <a name="TransferFamily-StartServer-request-ServerId"></a>
A system-assigned unique identifier for a server that you start.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Elements
<a name="API_StartServer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_StartServer_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_StartServer_Examples"></a>

### Example
<a name="API_StartServer_Example_1"></a>

The following example starts a server.

#### Sample Request
<a name="API_StartServer_Example_1_Request"></a>

```
{
   "ServerId": "s-01234567890abcdef"
}
```

### Example
<a name="API_StartServer_Example_2"></a>

This is a sample response for this API call.

#### Sample Response
<a name="API_StartServer_Example_2_Response"></a>

```
{
   "ServerId": "s-01234567890abcdef"
}
```

## See Also
<a name="API_StartServer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/StartServer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/StartServer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/StartServer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/StartServer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/StartServer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/StartServer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/StartServer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/StartServer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/StartServer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/StartServer) 

# StopServer
<a name="API_StopServer"></a>

Changes the state of a file transfer protocol-enabled server from `ONLINE` to `OFFLINE`. An `OFFLINE` server cannot accept and process file transfer jobs. Information tied to your server, such as server and user properties, are not affected by stopping your server.

**Note**  
Stopping the server does not reduce or impact your file transfer protocol endpoint billing; you must delete the server to stop being billed.

The state of `STOPPING` indicates that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of `STOP_FAILED` can indicate an error condition.

No response is returned from this call.

## Request Syntax
<a name="API_StopServer_RequestSyntax"></a>

```
{
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_StopServer_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ServerId](#API_StopServer_RequestSyntax) **   <a name="TransferFamily-StopServer-request-ServerId"></a>
A system-assigned unique identifier for a server that you stopped.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Elements
<a name="API_StopServer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_StopServer_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_StopServer_Examples"></a>

### Example
<a name="API_StopServer_Example_1"></a>

The following example stops a server.

#### Sample Request
<a name="API_StopServer_Example_1_Request"></a>

```
{
   "ServerId": "s-01234567890abcdef"
}
```

### Example
<a name="API_StopServer_Example_2"></a>

This is a sample response for this API call.

#### Sample Response
<a name="API_StopServer_Example_2_Response"></a>

```
{
   "ServerId": "s-01234567890abcdef"
}
```

## See Also
<a name="API_StopServer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/StopServer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/StopServer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/StopServer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/StopServer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/StopServer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/StopServer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/StopServer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/StopServer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/StopServer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/StopServer) 

# TagResource
<a name="API_TagResource"></a>

Attaches a key-value pair to a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.

There is no response returned from this call.

## Request Syntax
<a name="API_TagResource_RequestSyntax"></a>

```
{
   "Arn": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters
<a name="API_TagResource_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Arn](#API_TagResource_RequestSyntax) **   <a name="TransferFamily-TagResource-request-Arn"></a>
An Amazon Resource Name (ARN) for a specific AWS resource, such as a server, user, or role.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 1600.  
Pattern: `arn:\S+`   
Required: Yes

 ** [Tags](#API_TagResource_RequestSyntax) **   <a name="TransferFamily-TagResource-request-Tags"></a>
Key-value pairs assigned to ARNs that you can use to group and search for resources by type. You can attach this metadata to resources (servers, users, workflows, and so on) for any purpose.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: Yes

## Response Elements
<a name="API_TagResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_TagResource_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_TagResource_Examples"></a>

### Example
<a name="API_TagResource_Example_1"></a>

The following example adds a tag to a file transfer protocol-enabled server.

#### Sample Request
<a name="API_TagResource_Example_1_Request"></a>

```
{
   "Arn": "arn:aws:transfer:us-east-1:176354371281:server/s-01234567890abcdef",
   "Tags": [ 
      { 
         "Key": "Group",
         "Value": "Europe"
      }
   ]
}
```

### Example
<a name="API_TagResource_Example_2"></a>

This example illustrates one usage of TagResource.

#### Sample Response
<a name="API_TagResource_Example_2_Response"></a>

```
          HTTP 200 response with an empty HTTP body.
```

## See Also
<a name="API_TagResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/TagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/TagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/TagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/TagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/TagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/TagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/TagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/TagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/TagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/TagResource) 

# TestConnection
<a name="API_TestConnection"></a>

Tests whether your SFTP connector is set up successfully. We highly recommend that you call this operation to test your ability to transfer files between local AWS storage and a trading partner's SFTP server.

## Request Syntax
<a name="API_TestConnection_RequestSyntax"></a>

```
{
   "ConnectorId": "string"
}
```

## Request Parameters
<a name="API_TestConnection_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ConnectorId](#API_TestConnection_RequestSyntax) **   <a name="TransferFamily-TestConnection-request-ConnectorId"></a>
The unique identifier for the connector.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_TestConnection_ResponseSyntax"></a>

```
{
   "ConnectorId": "string",
   "SftpConnectionDetails": { 
      "HostKey": "string"
   },
   "Status": "string",
   "StatusMessage": "string"
}
```

## Response Elements
<a name="API_TestConnection_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ConnectorId](#API_TestConnection_ResponseSyntax) **   <a name="TransferFamily-TestConnection-response-ConnectorId"></a>
Returns the identifier of the connector object that you are testing.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})` 

 ** [SftpConnectionDetails](#API_TestConnection_ResponseSyntax) **   <a name="TransferFamily-TestConnection-response-SftpConnectionDetails"></a>
Structure that contains the SFTP connector host key.  
Type: [SftpConnectorConnectionDetails](API_SftpConnectorConnectionDetails.md) object

 ** [Status](#API_TestConnection_ResponseSyntax) **   <a name="TransferFamily-TestConnection-response-Status"></a>
Returns `OK` for successful test, or `ERROR` if the test fails.  
Type: String

 ** [StatusMessage](#API_TestConnection_ResponseSyntax) **   <a name="TransferFamily-TestConnection-response-StatusMessage"></a>
Returns `Connection succeeded` if the test is successful. Or, returns a descriptive error message if the test fails. The following list provides troubleshooting details, depending on the error message that you receive.  
+ Verify that your secret name aligns with the one in Transfer Role permissions.
+ Verify the server URL in the connector configuration , and verify that the login credentials work successfully outside of the connector.
+ Verify that the secret exists and is formatted correctly.
+ Verify that the trusted host key in the connector configuration matches the `ssh-keyscan` output.
Type: String

## Errors
<a name="API_TestConnection_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_TestConnection_Examples"></a>

### Example
<a name="API_TestConnection_Example_1"></a>

The following example tests the connection to a remote server.

```
aws transfer test-connection --connector-id c-abcd1234567890fff
```

### Sample Response
<a name="API_TestConnection_Example_2"></a>

If successful the API call returns the following details.

```
{                                                                                                                                                             
    "Status": "OK",                                                                                                                                           
    "StatusMessage": "Connection succeeded"                                                                                                                   
}
```

## See Also
<a name="API_TestConnection_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/TestConnection) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/TestConnection) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/TestConnection) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/TestConnection) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/TestConnection) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/TestConnection) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/TestConnection) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/TestConnection) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/TestConnection) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/TestConnection) 

# TestIdentityProvider
<a name="API_TestIdentityProvider"></a>

If the `IdentityProviderType` of a file transfer protocol-enabled server is `AWS_DIRECTORY_SERVICE` or `API_Gateway`, tests whether your identity provider is set up successfully. We highly recommend that you call this operation to test your authentication method as soon as you create your server. By doing so, you can troubleshoot issues with the identity provider integration to ensure that your users can successfully use the service.

 The `ServerId` and `UserName` parameters are required. The `ServerProtocol`, `SourceIp`, and `UserPassword` are all optional. 

Note the following:
+  You cannot use `TestIdentityProvider` if the `IdentityProviderType` of your server is `SERVICE_MANAGED`.
+  `TestIdentityProvider` does not work with keys: it only accepts passwords.
+  `TestIdentityProvider` can test the password operation for a custom Identity Provider that handles keys and passwords.
+  If you provide any incorrect values for any parameters, the `Response` field is empty. 
+  If you provide a server ID for a server that uses service-managed users, you get an error: 

   ` An error occurred (InvalidRequestException) when calling the TestIdentityProvider operation: s-server-ID not configured for external auth ` 
+  If you enter a Server ID for the `--server-id` parameter that does not identify an actual Transfer server, you receive the following error: 

   `An error occurred (ResourceNotFoundException) when calling the TestIdentityProvider operation: Unknown server`. 

  It is possible your sever is in a different region. You can specify a region by adding the following: `--region region-code`, such as `--region us-east-2` to specify a server in **US East (Ohio)**.

## Request Syntax
<a name="API_TestIdentityProvider_RequestSyntax"></a>

```
{
   "ServerId": "string",
   "ServerProtocol": "string",
   "SourceIp": "string",
   "UserName": "string",
   "UserPassword": "string"
}
```

## Request Parameters
<a name="API_TestIdentityProvider_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ServerId](#API_TestIdentityProvider_RequestSyntax) **   <a name="TransferFamily-TestIdentityProvider-request-ServerId"></a>
A system-assigned identifier for a specific server. That server's user authentication method is tested with a user name and password.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

 ** [ServerProtocol](#API_TestIdentityProvider_RequestSyntax) **   <a name="TransferFamily-TestIdentityProvider-request-ServerProtocol"></a>
The type of file transfer protocol to be tested.  
The available protocols are:  
+ Secure Shell (SSH) File Transfer Protocol (SFTP)
+ File Transfer Protocol Secure (FTPS)
+ File Transfer Protocol (FTP)
+ Applicability Statement 2 (AS2)
Type: String  
Valid Values: `SFTP | FTP | FTPS | AS2`   
Required: No

 ** [SourceIp](#API_TestIdentityProvider_RequestSyntax) **   <a name="TransferFamily-TestIdentityProvider-request-SourceIp"></a>
The source IP address of the account to be tested.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 32.  
Pattern: `[0-9a-fA-F\.\:]+`   
Required: No

 ** [UserName](#API_TestIdentityProvider_RequestSyntax) **   <a name="TransferFamily-TestIdentityProvider-request-UserName"></a>
The name of the account to be tested.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 100.  
Pattern: `[\w][\w@.-]{2,99}`   
Required: Yes

 ** [UserPassword](#API_TestIdentityProvider_RequestSyntax) **   <a name="TransferFamily-TestIdentityProvider-request-UserPassword"></a>
The password of the account to be tested.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Required: No

## Response Syntax
<a name="API_TestIdentityProvider_ResponseSyntax"></a>

```
{
   "Message": "string",
   "Response": "string",
   "StatusCode": number,
   "Url": "string"
}
```

## Response Elements
<a name="API_TestIdentityProvider_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Message](#API_TestIdentityProvider_ResponseSyntax) **   <a name="TransferFamily-TestIdentityProvider-response-Message"></a>
A message that indicates whether the test was successful or not.  
If an empty string is returned, the most likely cause is that the authentication failed due to an incorrect username or password.
Type: String

 ** [Response](#API_TestIdentityProvider_ResponseSyntax) **   <a name="TransferFamily-TestIdentityProvider-response-Response"></a>
The response that is returned from your API Gateway or your Lambda function.  
Type: String

 ** [StatusCode](#API_TestIdentityProvider_ResponseSyntax) **   <a name="TransferFamily-TestIdentityProvider-response-StatusCode"></a>
The HTTP status code that is the response from your API Gateway or your Lambda function.  
Type: Integer

 ** [Url](#API_TestIdentityProvider_ResponseSyntax) **   <a name="TransferFamily-TestIdentityProvider-response-Url"></a>
The endpoint of the service used to authenticate a user.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 255.

## Errors
<a name="API_TestIdentityProvider_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_TestIdentityProvider_Examples"></a>

### Example
<a name="API_TestIdentityProvider_Example_1"></a>

The following request returns a message from an identity provider that a user name and password combination is a valid identity to use with AWS Transfer Family.

#### Sample Request
<a name="API_TestIdentityProvider_Example_1_Request"></a>

```
{
   "ServerID": "s-01234567890abcdef",
   "UserName": "my_user",
   "UserPassword": "MyPassword-1"
}
```

### Example
<a name="API_TestIdentityProvider_Example_2"></a>

The following response shows a sample response for a successful test.

#### Sample Response
<a name="API_TestIdentityProvider_Example_2_Response"></a>

```
      
      "Response":"
      {\"homeDirectory\":\"/mybucket001\",\"homeDirectoryDetails\":null,\"homeDirectoryType\":\"PATH\",\"posixProfile\":null,
      \"publicKeys\":\"[ssh-rsa-key]\",\"role\":\"arn:aws:iam::123456789012:role/my_role\",\"policy\":null,\"username\":\"transferuser002\",
      \"identityProviderType\":null,\"userConfigMessage\":null)"}     
      "StatusCode": "200",
      "Message": ""
```

### Example
<a name="API_TestIdentityProvider_Example_3"></a>

The following response indicates that the specified user belongs to more than one group that has access.

```
          "Response":"",
          "StatusCode":200,
          "Message":"More than one associated access found for user's groups."
```

### Example
<a name="API_TestIdentityProvider_Example_4"></a>

 If you have created and configured a custom identity provider by using an API Gateway, you can enter the following command to test your user: 

 `aws transfer test-identity-provider --server-id s-0123456789abcdefg --user-name myuser ` 

 where *s-0123456789abcdefg* is your transfer server, and *myuser* is the username for your custom user. 

 If the command succeeds, your response is similar to the following, where: 
+  AWS account ID is *012345678901* 
+ User role is *user-role-api-gateway* 
+ Home directory is *myuser-bucket* 
+ Public key is *public-key* 
+ Invocation URL is *invocation-URL* 

```
{
    "Response": "{\"Role\": \"arn:aws:iam::012345678901:role/user-role-api-gateway\",\"HomeDirectory\": \"/myuser-bucket\",\"PublicKeys\": \"[public-key]\"}",
    "StatusCode": 200,
    "Message": "",
    "Url": "https://invocation-URL/servers/s-0123456789abcdefg/users/myuser/config"
}
```

## See Also
<a name="API_TestIdentityProvider_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/TestIdentityProvider) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/TestIdentityProvider) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/TestIdentityProvider) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/TestIdentityProvider) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/TestIdentityProvider) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/TestIdentityProvider) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/TestIdentityProvider) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/TestIdentityProvider) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/TestIdentityProvider) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/TestIdentityProvider) 

# UntagResource
<a name="API_UntagResource"></a>

Detaches a key-value pair from a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.

No response is returned from this call.

## Request Syntax
<a name="API_UntagResource_RequestSyntax"></a>

```
{
   "Arn": "string",
   "TagKeys": [ "string" ]
}
```

## Request Parameters
<a name="API_UntagResource_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Arn](#API_UntagResource_RequestSyntax) **   <a name="TransferFamily-UntagResource-request-Arn"></a>
The value of the resource that will have the tag removed. An Amazon Resource Name (ARN) is an identifier for a specific AWS resource, such as a server, user, or role.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 1600.  
Pattern: `arn:\S+`   
Required: Yes

 ** [TagKeys](#API_UntagResource_RequestSyntax) **   <a name="TransferFamily-UntagResource-request-TagKeys"></a>
TagKeys are key-value pairs assigned to ARNs that can be used to group and search for resources by type. This metadata can be attached to resources for any purpose.  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Length Constraints: Minimum length of 0. Maximum length of 128.  
Required: Yes

## Response Elements
<a name="API_UntagResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UntagResource_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

## Examples
<a name="API_UntagResource_Examples"></a>

### Example
<a name="API_UntagResource_Example_1"></a>

The following example removes a tag of a file transfer protocol-enabled server.

#### Sample Request
<a name="API_UntagResource_Example_1_Request"></a>

```
{
   "Arn": "arn:aws:transfer:us-east-1:176354371281:server/s-01234567890abcdef",
   "TagKeys": "Europe" ]
}
```

### Example
<a name="API_UntagResource_Example_2"></a>

This example illustrates one usage of UntagResource.

#### Sample Response
<a name="API_UntagResource_Example_2_Response"></a>

```
          HTTP 200 response with an empty HTTP body.
```

## See Also
<a name="API_UntagResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/UntagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/UntagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/UntagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/UntagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/UntagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/UntagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/UntagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/UntagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/UntagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/UntagResource) 

# UpdateAccess
<a name="API_UpdateAccess"></a>

Allows you to update parameters for the access specified in the `ServerID` and `ExternalID` parameters.

## Request Syntax
<a name="API_UpdateAccess_RequestSyntax"></a>

```
{
   "ExternalId": "string",
   "HomeDirectory": "string",
   "HomeDirectoryMappings": [ 
      { 
         "Entry": "string",
         "Target": "string",
         "Type": "string"
      }
   ],
   "HomeDirectoryType": "string",
   "Policy": "string",
   "PosixProfile": { 
      "Gid": number,
      "SecondaryGids": [ number ],
      "Uid": number
   },
   "Role": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_UpdateAccess_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ExternalId](#API_UpdateAccess_RequestSyntax) **   <a name="TransferFamily-UpdateAccess-request-ExternalId"></a>
A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using AWS Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.  
 `Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid`   
In that command, replace *YourGroupName* with the name of your Active Directory group.  
The regular expression used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `S-1-[\d-]+`   
Required: Yes

 ** [HomeDirectory](#API_UpdateAccess_RequestSyntax) **   <a name="TransferFamily-UpdateAccess-request-HomeDirectory"></a>
The landing directory (folder) for a user when they log in to the server using the client.  
A `HomeDirectory` example is `/bucket_name/home/mydirectory`.  
You can use the `HomeDirectory` parameter for `HomeDirectoryType` when it is set to either `PATH` or `LOGICAL`.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `(|/.*)`   
Required: No

 ** [HomeDirectoryMappings](#API_UpdateAccess_RequestSyntax) **   <a name="TransferFamily-UpdateAccess-request-HomeDirectoryMappings"></a>
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the `Entry` and `Target` pair, where `Entry` shows how the path is made visible and `Target` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in `Target`. This value can be set only when `HomeDirectoryType` is set to *LOGICAL*.  
The following is an `Entry` and `Target` pair example.  
 `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]`   
In most cases, you can use this value instead of the session policy to lock down your user to the designated home directory ("`chroot`"). To do this, you can set `Entry` to `/` and set `Target` to the `HomeDirectory` parameter value.  
The following is an `Entry` and `Target` pair example for `chroot`.  
 `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]`   
Type: Array of [HomeDirectoryMapEntry](API_HomeDirectoryMapEntry.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50000 items.  
Required: No

 ** [HomeDirectoryType](#API_UpdateAccess_RequestSyntax) **   <a name="TransferFamily-UpdateAccess-request-HomeDirectoryType"></a>
The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to `PATH`, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to `LOGICAL`, you need to provide mappings in the `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon EFS paths visible to your users.  
If `HomeDirectoryType` is `LOGICAL`, you must provide mappings, using the `HomeDirectoryMappings` parameter. If, on the other hand, `HomeDirectoryType` is `PATH`, you provide an absolute path using the `HomeDirectory` parameter. You cannot have both `HomeDirectory` and `HomeDirectoryMappings` in your template.
Type: String  
Valid Values: `PATH | LOGICAL`   
Required: No

 ** [Policy](#API_UpdateAccess_RequestSyntax) **   <a name="TransferFamily-UpdateAccess-request-Policy"></a>
A session policy for your user so that you can use the same AWS Identity and Access Management (IAM) role across multiple users. This policy scopes down a user's access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`.  
This policy applies only when the domain of `ServerId` is Amazon S3. Amazon EFS does not use session policies.  
For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the `Policy` argument.  
For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html).  
For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the * AWSSecurity Token Service API Reference*.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Required: No

 ** [PosixProfile](#API_UpdateAccess_RequestSyntax) **   <a name="TransferFamily-UpdateAccess-request-PosixProfile"></a>
The full POSIX identity, including user ID (`Uid`), group ID (`Gid`), and any secondary groups IDs (`SecondaryGids`), that controls your users' access to your Amazon EFS file systems. The POSIX permissions that are set on files and directories in your file system determine the level of access your users get when transferring files into and out of your Amazon EFS file systems.  
Type: [PosixProfile](API_PosixProfile.md) object  
Required: No

 ** [Role](#API_UpdateAccess_RequestSyntax) **   <a name="TransferFamily-UpdateAccess-request-Role"></a>
The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:.*role/\S+`   
Required: No

 ** [ServerId](#API_UpdateAccess_RequestSyntax) **   <a name="TransferFamily-UpdateAccess-request-ServerId"></a>
A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_UpdateAccess_ResponseSyntax"></a>

```
{
   "ExternalId": "string",
   "ServerId": "string"
}
```

## Response Elements
<a name="API_UpdateAccess_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ExternalId](#API_UpdateAccess_ResponseSyntax) **   <a name="TransferFamily-UpdateAccess-response-ExternalId"></a>
The external identifier of the group whose users have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using AWSTransfer Family.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `S-1-[\d-]+` 

 ** [ServerId](#API_UpdateAccess_ResponseSyntax) **   <a name="TransferFamily-UpdateAccess-response-ServerId"></a>
The identifier of the server that the user is attached to.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

## Errors
<a name="API_UpdateAccess_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_UpdateAccess_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/UpdateAccess) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/UpdateAccess) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/UpdateAccess) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/UpdateAccess) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/UpdateAccess) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/UpdateAccess) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/UpdateAccess) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/UpdateAccess) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/UpdateAccess) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/UpdateAccess) 

# UpdateAgreement
<a name="API_UpdateAgreement"></a>

Updates some of the parameters for an existing agreement. Provide the `AgreementId` and the `ServerId` for the agreement that you want to update, along with the new values for the parameters to update.

**Note**  
Specify *either* `BaseDirectory` or `CustomDirectories`, but not both. Specifying both causes the command to fail.  
If you update an agreement from using base directory to custom directories, the base directory is no longer used. Similarly, if you change from custom directories to a base directory, the custom directories are no longer used.

## Request Syntax
<a name="API_UpdateAgreement_RequestSyntax"></a>

```
{
   "AccessRole": "string",
   "AgreementId": "string",
   "BaseDirectory": "string",
   "CustomDirectories": { 
      "FailedFilesDirectory": "string",
      "MdnFilesDirectory": "string",
      "PayloadFilesDirectory": "string",
      "StatusFilesDirectory": "string",
      "TemporaryFilesDirectory": "string"
   },
   "Description": "string",
   "EnforceMessageSigning": "string",
   "LocalProfileId": "string",
   "PartnerProfileId": "string",
   "PreserveFilename": "string",
   "ServerId": "string",
   "Status": "string"
}
```

## Request Parameters
<a name="API_UpdateAgreement_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccessRole](#API_UpdateAgreement_RequestSyntax) **   <a name="TransferFamily-UpdateAgreement-request-AccessRole"></a>
Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the AWS Identity and Access Management role to use.  
 **For AS2 connectors**   
With AS2, you can send files by calling `StartFileTransfer` and specifying the file paths in the request parameter, `SendFilePaths`. We use the file’s parent directory (for example, for `--send-file-paths /bucket/dir/file.txt`, parent directory is `/bucket/dir/`) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the `AccessRole` needs to provide read and write access to the parent directory of the file location used in the `StartFileTransfer` request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with `StartFileTransfer`.  
If you are using Basic authentication for your AS2 connector, the access role requires the `secretsmanager:GetSecretValue` permission for the secret. If the secret is encrypted using a customer-managed key instead of the AWS managed key in Secrets Manager, then the role also needs the `kms:Decrypt` permission for that key.  
 **For SFTP connectors**   
Make sure that the access role provides read and write access to the parent directory of the file location that's used in the `StartFileTransfer` request. Additionally, make sure that the role provides `secretsmanager:GetSecretValue` permission to AWS Secrets Manager.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:.*role/\S+`   
Required: No

 ** [AgreementId](#API_UpdateAgreement_RequestSyntax) **   <a name="TransferFamily-UpdateAgreement-request-AgreementId"></a>
A unique identifier for the agreement. This identifier is returned when you create an agreement.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `a-([0-9a-f]{17})`   
Required: Yes

 ** [BaseDirectory](#API_UpdateAgreement_RequestSyntax) **   <a name="TransferFamily-UpdateAgreement-request-BaseDirectory"></a>
To change the landing directory (folder) for files that are transferred, provide the bucket folder that you want to use; for example, `/amzn-s3-demo-bucket/home/mydirectory `.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `(|/.*)`   
Required: No

 ** [CustomDirectories](#API_UpdateAgreement_RequestSyntax) **   <a name="TransferFamily-UpdateAgreement-request-CustomDirectories"></a>
A `CustomDirectoriesType` structure. This structure specifies custom directories for storing various AS2 message files. You can specify directories for the following types of files.  
+ Failed files
+ MDN files
+ Payload files
+ Status files
+ Temporary files
Type: [CustomDirectoriesType](API_CustomDirectoriesType.md) object  
Required: No

 ** [Description](#API_UpdateAgreement_RequestSyntax) **   <a name="TransferFamily-UpdateAgreement-request-Description"></a>
To replace the existing description, provide a short description for the agreement.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [EnforceMessageSigning](#API_UpdateAgreement_RequestSyntax) **   <a name="TransferFamily-UpdateAgreement-request-EnforceMessageSigning"></a>
 Determines whether or not unsigned messages from your trading partners will be accepted.   
+  `ENABLED`: Transfer Family rejects unsigned messages from your trading partner.
+  `DISABLED` (default value): Transfer Family accepts unsigned messages from your trading partner.
Type: String  
Valid Values: `ENABLED | DISABLED`   
Required: No

 ** [LocalProfileId](#API_UpdateAgreement_RequestSyntax) **   <a name="TransferFamily-UpdateAgreement-request-LocalProfileId"></a>
A unique identifier for the AS2 local profile.  
To change the local profile identifier, provide a new value here.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `p-([0-9a-f]{17})`   
Required: No

 ** [PartnerProfileId](#API_UpdateAgreement_RequestSyntax) **   <a name="TransferFamily-UpdateAgreement-request-PartnerProfileId"></a>
A unique identifier for the partner profile. To change the partner profile identifier, provide a new value here.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `p-([0-9a-f]{17})`   
Required: No

 ** [PreserveFilename](#API_UpdateAgreement_RequestSyntax) **   <a name="TransferFamily-UpdateAgreement-request-PreserveFilename"></a>
 Determines whether or not Transfer Family appends a unique string of characters to the end of the AS2 message payload filename when saving it.   
+  `ENABLED`: the filename provided by your trading parter is preserved when the file is saved.
+  `DISABLED` (default value): when Transfer Family saves the file, the filename is adjusted, as described in [File names and locations](https://docs.aws.amazon.com/transfer/latest/userguide/send-as2-messages.html#file-names-as2).
Type: String  
Valid Values: `ENABLED | DISABLED`   
Required: No

 ** [ServerId](#API_UpdateAgreement_RequestSyntax) **   <a name="TransferFamily-UpdateAgreement-request-ServerId"></a>
A system-assigned unique identifier for a server instance. This is the specific server that the agreement uses.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

 ** [Status](#API_UpdateAgreement_RequestSyntax) **   <a name="TransferFamily-UpdateAgreement-request-Status"></a>
You can update the status for the agreement, either activating an inactive agreement or the reverse.  
Type: String  
Valid Values: `ACTIVE | INACTIVE`   
Required: No

## Response Syntax
<a name="API_UpdateAgreement_ResponseSyntax"></a>

```
{
   "AgreementId": "string"
}
```

## Response Elements
<a name="API_UpdateAgreement_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [AgreementId](#API_UpdateAgreement_ResponseSyntax) **   <a name="TransferFamily-UpdateAgreement-response-AgreementId"></a>
A unique identifier for the agreement. This identifier is returned when you create an agreement.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `a-([0-9a-f]{17})` 

## Errors
<a name="API_UpdateAgreement_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_UpdateAgreement_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/UpdateAgreement) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/UpdateAgreement) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/UpdateAgreement) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/UpdateAgreement) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/UpdateAgreement) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/UpdateAgreement) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/UpdateAgreement) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/UpdateAgreement) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/UpdateAgreement) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/UpdateAgreement) 

# UpdateCertificate
<a name="API_UpdateCertificate"></a>

Updates the active and inactive dates for a certificate.

## Request Syntax
<a name="API_UpdateCertificate_RequestSyntax"></a>

```
{
   "ActiveDate": number,
   "CertificateId": "string",
   "Description": "string",
   "InactiveDate": number
}
```

## Request Parameters
<a name="API_UpdateCertificate_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ActiveDate](#API_UpdateCertificate_RequestSyntax) **   <a name="TransferFamily-UpdateCertificate-request-ActiveDate"></a>
An optional date that specifies when the certificate becomes active. If you do not specify a value, `ActiveDate` takes the same value as `NotBeforeDate`, which is specified by the CA.   
Type: Timestamp  
Required: No

 ** [CertificateId](#API_UpdateCertificate_RequestSyntax) **   <a name="TransferFamily-UpdateCertificate-request-CertificateId"></a>
The identifier of the certificate object that you are updating.  
Type: String  
Length Constraints: Fixed length of 22.  
Pattern: `cert-([0-9a-f]{17})`   
Required: Yes

 ** [Description](#API_UpdateCertificate_RequestSyntax) **   <a name="TransferFamily-UpdateCertificate-request-Description"></a>
A short description to help identify the certificate.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [InactiveDate](#API_UpdateCertificate_RequestSyntax) **   <a name="TransferFamily-UpdateCertificate-request-InactiveDate"></a>
An optional date that specifies when the certificate becomes inactive. If you do not specify a value, `InactiveDate` takes the same value as `NotAfterDate`, which is specified by the CA.  
Type: Timestamp  
Required: No

## Response Syntax
<a name="API_UpdateCertificate_ResponseSyntax"></a>

```
{
   "CertificateId": "string"
}
```

## Response Elements
<a name="API_UpdateCertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [CertificateId](#API_UpdateCertificate_ResponseSyntax) **   <a name="TransferFamily-UpdateCertificate-response-CertificateId"></a>
Returns the identifier of the certificate object that you are updating.  
Type: String  
Length Constraints: Fixed length of 22.  
Pattern: `cert-([0-9a-f]{17})` 

## Errors
<a name="API_UpdateCertificate_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_UpdateCertificate_Examples"></a>

### Example
<a name="API_UpdateCertificate_Example_1"></a>

The following example updates the active date for a certificate, setting the active date to January 16, 2022 at 16:12:07 UTC -5 hours.

#### Sample Request
<a name="API_UpdateCertificate_Example_1_Request"></a>

```
aws transfer update-certificate --certificate-id c-abcdefg123456hijk --active-date 2022-01-16T16:12:07-05:00
```

### Example
<a name="API_UpdateCertificate_Example_2"></a>

The following is a sample response for this API call.

#### Sample Response
<a name="API_UpdateCertificate_Example_2_Response"></a>

```
"CertificateId": "c-abcdefg123456hijk"
```

## See Also
<a name="API_UpdateCertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/UpdateCertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/UpdateCertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/UpdateCertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/UpdateCertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/UpdateCertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/UpdateCertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/UpdateCertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/UpdateCertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/UpdateCertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/UpdateCertificate) 

# UpdateConnector
<a name="API_UpdateConnector"></a>

Updates some of the parameters for an existing connector. Provide the `ConnectorId` for the connector that you want to update, along with the new values for the parameters to update.

## Request Syntax
<a name="API_UpdateConnector_RequestSyntax"></a>

```
{
   "AccessRole": "string",
   "As2Config": { 
      "AsyncMdnConfig": { 
         "ServerIds": [ "string" ],
         "Url": "string"
      },
      "BasicAuthSecretId": "string",
      "Compression": "string",
      "EncryptionAlgorithm": "string",
      "LocalProfileId": "string",
      "MdnResponse": "string",
      "MdnSigningAlgorithm": "string",
      "MessageSubject": "string",
      "PartnerProfileId": "string",
      "PreserveContentType": "string",
      "SigningAlgorithm": "string"
   },
   "ConnectorId": "string",
   "EgressConfig": { ... },
   "LoggingRole": "string",
   "SecurityPolicyName": "string",
   "SftpConfig": { 
      "MaxConcurrentConnections": number,
      "TrustedHostKeys": [ "string" ],
      "UserSecretId": "string"
   },
   "Url": "string"
}
```

## Request Parameters
<a name="API_UpdateConnector_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccessRole](#API_UpdateConnector_RequestSyntax) **   <a name="TransferFamily-UpdateConnector-request-AccessRole"></a>
Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the AWS Identity and Access Management role to use.  
 **For AS2 connectors**   
With AS2, you can send files by calling `StartFileTransfer` and specifying the file paths in the request parameter, `SendFilePaths`. We use the file’s parent directory (for example, for `--send-file-paths /bucket/dir/file.txt`, parent directory is `/bucket/dir/`) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the `AccessRole` needs to provide read and write access to the parent directory of the file location used in the `StartFileTransfer` request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with `StartFileTransfer`.  
If you are using Basic authentication for your AS2 connector, the access role requires the `secretsmanager:GetSecretValue` permission for the secret. If the secret is encrypted using a customer-managed key instead of the AWS managed key in Secrets Manager, then the role also needs the `kms:Decrypt` permission for that key.  
 **For SFTP connectors**   
Make sure that the access role provides read and write access to the parent directory of the file location that's used in the `StartFileTransfer` request. Additionally, make sure that the role provides `secretsmanager:GetSecretValue` permission to AWS Secrets Manager.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:.*role/\S+`   
Required: No

 ** [As2Config](#API_UpdateConnector_RequestSyntax) **   <a name="TransferFamily-UpdateConnector-request-As2Config"></a>
A structure that contains the parameters for an AS2 connector object.  
Type: [As2ConnectorConfig](API_As2ConnectorConfig.md) object  
Required: No

 ** [ConnectorId](#API_UpdateConnector_RequestSyntax) **   <a name="TransferFamily-UpdateConnector-request-ConnectorId"></a>
The unique identifier for the connector.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})`   
Required: Yes

 ** [EgressConfig](#API_UpdateConnector_RequestSyntax) **   <a name="TransferFamily-UpdateConnector-request-EgressConfig"></a>
Updates the egress configuration for the connector, allowing you to modify how traffic is routed from the connector to the SFTP server. Changes to VPC configuration may require connector restart.  
Type: [UpdateConnectorEgressConfig](API_UpdateConnectorEgressConfig.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.  
Required: No

 ** [LoggingRole](#API_UpdateConnector_RequestSyntax) **   <a name="TransferFamily-UpdateConnector-request-LoggingRole"></a>
The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:.*role/\S+`   
Required: No

 ** [SecurityPolicyName](#API_UpdateConnector_RequestSyntax) **   <a name="TransferFamily-UpdateConnector-request-SecurityPolicyName"></a>
Specifies the name of the security policy for the connector.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 100.  
Pattern: `TransferSFTPConnectorSecurityPolicy-[A-Za-z0-9-]+`   
Required: No

 ** [SftpConfig](#API_UpdateConnector_RequestSyntax) **   <a name="TransferFamily-UpdateConnector-request-SftpConfig"></a>
A structure that contains the parameters for an SFTP connector object.  
Type: [SftpConnectorConfig](API_SftpConnectorConfig.md) object  
Required: No

 ** [Url](#API_UpdateConnector_RequestSyntax) **   <a name="TransferFamily-UpdateConnector-request-Url"></a>
The URL of the partner's AS2 or SFTP endpoint.  
When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 255.  
Required: No

## Response Syntax
<a name="API_UpdateConnector_ResponseSyntax"></a>

```
{
   "ConnectorId": "string"
}
```

## Response Elements
<a name="API_UpdateConnector_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ConnectorId](#API_UpdateConnector_ResponseSyntax) **   <a name="TransferFamily-UpdateConnector-response-ConnectorId"></a>
Returns the identifier of the connector object that you are updating.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `c-([0-9a-f]{17})` 

## Errors
<a name="API_UpdateConnector_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_UpdateConnector_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/UpdateConnector) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/UpdateConnector) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/UpdateConnector) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/UpdateConnector) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/UpdateConnector) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/UpdateConnector) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/UpdateConnector) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/UpdateConnector) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/UpdateConnector) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/UpdateConnector) 

# UpdateHostKey
<a name="API_UpdateHostKey"></a>

Updates the description for the host key that's specified by the `ServerId` and `HostKeyId` parameters.

## Request Syntax
<a name="API_UpdateHostKey_RequestSyntax"></a>

```
{
   "Description": "string",
   "HostKeyId": "string",
   "ServerId": "string"
}
```

## Request Parameters
<a name="API_UpdateHostKey_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Description](#API_UpdateHostKey_RequestSyntax) **   <a name="TransferFamily-UpdateHostKey-request-Description"></a>
An updated description for the host key.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 200.  
Pattern: `[\p{Print}]*`   
Required: Yes

 ** [HostKeyId](#API_UpdateHostKey_RequestSyntax) **   <a name="TransferFamily-UpdateHostKey-request-HostKeyId"></a>
The identifier of the host key that you are updating.  
Type: String  
Length Constraints: Fixed length of 25.  
Pattern: `hostkey-[0-9a-f]{17}`   
Required: Yes

 ** [ServerId](#API_UpdateHostKey_RequestSyntax) **   <a name="TransferFamily-UpdateHostKey-request-ServerId"></a>
The identifier of the server that contains the host key that you are updating.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_UpdateHostKey_ResponseSyntax"></a>

```
{
   "HostKeyId": "string",
   "ServerId": "string"
}
```

## Response Elements
<a name="API_UpdateHostKey_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [HostKeyId](#API_UpdateHostKey_ResponseSyntax) **   <a name="TransferFamily-UpdateHostKey-response-HostKeyId"></a>
Returns the host key identifier for the updated host key.  
Type: String  
Length Constraints: Fixed length of 25.  
Pattern: `hostkey-[0-9a-f]{17}` 

 ** [ServerId](#API_UpdateHostKey_ResponseSyntax) **   <a name="TransferFamily-UpdateHostKey-response-ServerId"></a>
Returns the server identifier for the server that contains the updated host key.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

## Errors
<a name="API_UpdateHostKey_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_UpdateHostKey_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/UpdateHostKey) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/UpdateHostKey) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/UpdateHostKey) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/UpdateHostKey) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/UpdateHostKey) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/UpdateHostKey) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/UpdateHostKey) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/UpdateHostKey) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/UpdateHostKey) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/UpdateHostKey) 

# UpdateProfile
<a name="API_UpdateProfile"></a>

Updates some of the parameters for an existing profile. Provide the `ProfileId` for the profile that you want to update, along with the new values for the parameters to update.

## Request Syntax
<a name="API_UpdateProfile_RequestSyntax"></a>

```
{
   "CertificateIds": [ "string" ],
   "ProfileId": "string"
}
```

## Request Parameters
<a name="API_UpdateProfile_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [CertificateIds](#API_UpdateProfile_RequestSyntax) **   <a name="TransferFamily-UpdateProfile-request-CertificateIds"></a>
An array of identifiers for the imported certificates. You use this identifier for working with profiles and partner profiles.  
Type: Array of strings  
Length Constraints: Fixed length of 22.  
Pattern: `cert-([0-9a-f]{17})`   
Required: No

 ** [ProfileId](#API_UpdateProfile_RequestSyntax) **   <a name="TransferFamily-UpdateProfile-request-ProfileId"></a>
The identifier of the profile object that you are updating.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `p-([0-9a-f]{17})`   
Required: Yes

## Response Syntax
<a name="API_UpdateProfile_ResponseSyntax"></a>

```
{
   "ProfileId": "string"
}
```

## Response Elements
<a name="API_UpdateProfile_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ProfileId](#API_UpdateProfile_ResponseSyntax) **   <a name="TransferFamily-UpdateProfile-response-ProfileId"></a>
Returns the identifier for the profile that's being updated.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `p-([0-9a-f]{17})` 

## Errors
<a name="API_UpdateProfile_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_UpdateProfile_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/UpdateProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/UpdateProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/UpdateProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/UpdateProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/UpdateProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/UpdateProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/UpdateProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/UpdateProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/UpdateProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/UpdateProfile) 

# UpdateServer
<a name="API_UpdateServer"></a>

Updates the file transfer protocol-enabled server's properties after that server has been created.

The `UpdateServer` call returns the `ServerId` of the server you updated.

## Request Syntax
<a name="API_UpdateServer_RequestSyntax"></a>

```
{
   "Certificate": "string",
   "EndpointDetails": { 
      "AddressAllocationIds": [ "string" ],
      "SecurityGroupIds": [ "string" ],
      "SubnetIds": [ "string" ],
      "VpcEndpointId": "string",
      "VpcId": "string"
   },
   "EndpointType": "string",
   "HostKey": "string",
   "IdentityProviderDetails": { 
      "DirectoryId": "string",
      "Function": "string",
      "InvocationRole": "string",
      "SftpAuthenticationMethods": "string",
      "Url": "string"
   },
   "IdentityProviderType": "string",
   "IpAddressType": "string",
   "LoggingRole": "string",
   "PostAuthenticationLoginBanner": "string",
   "PreAuthenticationLoginBanner": "string",
   "ProtocolDetails": { 
      "As2Transports": [ "string" ],
      "PassiveIp": "string",
      "SetStatOption": "string",
      "TlsSessionResumptionMode": "string"
   },
   "Protocols": [ "string" ],
   "S3StorageOptions": { 
      "DirectoryListingOptimization": "string"
   },
   "SecurityPolicyName": "string",
   "ServerId": "string",
   "StructuredLogDestinations": [ "string" ],
   "WorkflowDetails": { 
      "OnPartialUpload": [ 
         { 
            "ExecutionRole": "string",
            "WorkflowId": "string"
         }
      ],
      "OnUpload": [ 
         { 
            "ExecutionRole": "string",
            "WorkflowId": "string"
         }
      ]
   }
}
```

## Request Parameters
<a name="API_UpdateServer_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Certificate](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-Certificate"></a>
The Amazon Resource Name (ARN) of the AWSCertificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS`.  
To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the * AWSCertificate Manager User Guide*.  
To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the * AWSCertificate Manager User Guide*.  
To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the * AWSCertificate Manager User Guide*.  
Certificates with the following cryptographic algorithms and key sizes are supported:  
+ 2048-bit RSA (RSA\$12048)
+ 4096-bit RSA (RSA\$14096)
+ Elliptic Prime Curve 256 bit (EC\$1prime256v1)
+ Elliptic Prime Curve 384 bit (EC\$1secp384r1)
+ Elliptic Prime Curve 521 bit (EC\$1secp521r1)
The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1600.  
Required: No

 ** [EndpointDetails](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-EndpointDetails"></a>
The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.  
Type: [EndpointDetails](API_EndpointDetails.md) object  
Required: No

 ** [EndpointType](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-EndpointType"></a>
The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.  
 After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType`=`VPC`.  
For more information, see [Discontinuing the use of VPC\$1ENDPOINT](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint).  
It is recommended that you use `VPC` as the `EndpointType`. With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT`.
Type: String  
Valid Values: `PUBLIC | VPC | VPC_ENDPOINT`   
Required: No

 ** [HostKey](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-HostKey"></a>
The RSA, ECDSA, or ED25519 private key to use for your SFTP-enabled server. You can add multiple host keys, in case you want to rotate keys, or have a set of active keys that use different algorithms.  
Use the following command to generate an RSA 2048 bit key with no passphrase:  
 `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`.  
Use a minimum value of 2048 for the `-b` option. You can create a stronger key by using 3072 or 4096.  
Use the following command to generate an ECDSA 256 bit key with no passphrase:  
 `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key`.  
Valid values for the `-b` option for ECDSA are 256, 384, and 521.  
Use the following command to generate an ED25519 key with no passphrase:  
 `ssh-keygen -t ed25519 -N "" -f my-new-server-key`.  
For all of these commands, you can replace *my-new-server-key* with a string of your choice.  
If you aren't planning to migrate existing users from an existing SFTP-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.
For more information, see [Update host keys for your SFTP-enabled server](https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key) in the * AWS Transfer Family User Guide*.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 4096.  
Required: No

 ** [IdentityProviderDetails](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-IdentityProviderDetails"></a>
An array containing all of the information required to call a customer's authentication API method.  
Type: [IdentityProviderDetails](API_IdentityProviderDetails.md) object  
Required: No

 ** [IdentityProviderType](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-IdentityProviderType"></a>
The mode of authentication for a server. The default value is `SERVICE_MANAGED`, which allows you to store and access user credentials within the AWS Transfer Family service.  
Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter.  
Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter.  
Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type.  
Type: String  
Valid Values: `SERVICE_MANAGED | API_GATEWAY | AWS_DIRECTORY_SERVICE | AWS_LAMBDA`   
Required: No

 ** [IpAddressType](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-IpAddressType"></a>
Specifies whether to use IPv4 only, or to use dual-stack (IPv4 and IPv6) for your AWS Transfer Family endpoint. The default value is `IPV4`.  
The `IpAddressType` parameter has the following limitations:  
+ It cannot be changed while the server is online. You must stop the server before modifying this parameter.
+ It cannot be updated to `DUALSTACK` if the server has `AddressAllocationIds` specified.
When using `DUALSTACK` as the `IpAddressType`, you cannot set the `AddressAllocationIds` parameter for the [EndpointDetails](https://docs.aws.amazon.com/transfer/latest/APIReference/API_EndpointDetails.html) for the server.
Type: String  
Valid Values: `IPV4 | DUALSTACK`   
Required: No

 ** [LoggingRole](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-LoggingRole"></a>
The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, you can view user activity in your CloudWatch logs.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `(|arn:.*role/\S+)`   
Required: No

 ** [PostAuthenticationLoginBanner](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-PostAuthenticationLoginBanner"></a>
Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.  
The SFTP protocol does not support post-authentication display banners.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 4096.  
Pattern: `[\x09-\x0D\x20-\x7E]*`   
Required: No

 ** [PreAuthenticationLoginBanner](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-PreAuthenticationLoginBanner"></a>
Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:  
 `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.`   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 4096.  
Pattern: `[\x09-\x0D\x20-\x7E]*`   
Required: No

 ** [ProtocolDetails](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-ProtocolDetails"></a>
The protocol settings that are configured for your server.  
Avoid placing Network Load Balancers (NLBs) or NAT gateways in front of AWS Transfer Family servers, as this increases costs and can cause performance issues, including reduced connection limits for FTPS. For more details, see [ Avoid placing NLBs and NATs in front of AWS Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations).
+  To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. 
+ To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP`. If you set the `SetStatOption` parameter to `ENABLE_NO_OP`, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call.
+ To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter.
+  `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported.
Type: [ProtocolDetails](API_ProtocolDetails.md) object  
Required: No

 ** [Protocols](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-Protocols"></a>
Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:  
+  `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH
+  `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption
+  `FTP` (File Transfer Protocol): Unencrypted file transfer
+  `AS2` (Applicability Statement 2): used for transporting structured business-to-business data
+ If you select `FTPS`, you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.
+ If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE`, `AWS_LAMBDA`, or `API_GATEWAY`.
+ If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be associated.
+ If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED`, `AWS_DIRECTORY_SERVICE`, `AWS_LAMBDA`, or `API_GATEWAY`.
+ If `Protocol` includes `AS2`, then the `EndpointType` must be `VPC`, and domain must be Amazon S3.
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 4 items.  
Valid Values: `SFTP | FTP | FTPS | AS2`   
Required: No

 ** [S3StorageOptions](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-S3StorageOptions"></a>
Specifies whether or not performance for your Amazon S3 directories is optimized.  
+ If using the console, this is enabled by default.
+ If using the API or CLI, this is disabled by default.
By default, home directory mappings have a `TYPE` of `DIRECTORY`. If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target.  
Type: [S3StorageOptions](API_S3StorageOptions.md) object  
Required: No

 ** [SecurityPolicyName](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-SecurityPolicyName"></a>
Specifies the name of the security policy for the server.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 100.  
Pattern: `Transfer[A-Za-z0-9]*SecurityPolicy-[A-Za-z0-9-]+`   
Required: No

 ** [ServerId](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-ServerId"></a>
A system-assigned unique identifier for a server instance that the Transfer Family user is assigned to.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

 ** [StructuredLogDestinations](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-StructuredLogDestinations"></a>
Specifies the log groups to which your server logs are sent.  
To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows:  
 `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*`   
For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*`   
If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example:  
 `update-server --server-id s-1234567890abcdef0 --structured-log-destinations`   
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 1 item.  
Length Constraints: Minimum length of 20. Maximum length of 1600.  
Pattern: `arn:\S+`   
Required: No

 ** [WorkflowDetails](#API_UpdateServer_RequestSyntax) **   <a name="TransferFamily-UpdateServer-request-WorkflowDetails"></a>
Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.  
In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when the server session disconnects while the file is still being uploaded.  
To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example.  
 `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'`   
Type: [WorkflowDetails](API_WorkflowDetails.md) object  
Required: No

## Response Syntax
<a name="API_UpdateServer_ResponseSyntax"></a>

```
{
   "ServerId": "string"
}
```

## Response Elements
<a name="API_UpdateServer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ServerId](#API_UpdateServer_ResponseSyntax) **   <a name="TransferFamily-UpdateServer-response-ServerId"></a>
A system-assigned unique identifier for a server that the Transfer Family user is assigned to.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

## Errors
<a name="API_UpdateServer_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** ConflictException **   
This exception is thrown when the `UpdateServer` is called for a file transfer protocol-enabled server that has VPC as the endpoint type and the server's `VpcEndpointID` is not in the available state.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceExistsException **   
The requested resource does not exist, or exists in a region other than the one specified for the command.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_UpdateServer_Examples"></a>

### Example
<a name="API_UpdateServer_Example_1"></a>

The following example updates the role of a server.

#### Sample Request
<a name="API_UpdateServer_Example_1_Request"></a>

```
{
   "EndpointDetails": { 
   "VpcEndpointId": "vpce-01234f056f3g13",
   "LoggingRole": "CloudWatchS3Events",
   "ServerId": "s-01234567890abcdef"
   }
}
```

### Example
<a name="API_UpdateServer_Example_2"></a>

The following example removes any associated workflows from the server.

#### Sample Request
<a name="API_UpdateServer_Example_2_Request"></a>

```
aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'
```

### Example
<a name="API_UpdateServer_Example_3"></a>

This is a sample response for this API call.

#### Sample Response
<a name="API_UpdateServer_Example_3_Response"></a>

```
{
   "ServerId": "s-01234567890abcdef"
}
```

## See Also
<a name="API_UpdateServer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/UpdateServer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/UpdateServer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/UpdateServer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/UpdateServer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/UpdateServer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/UpdateServer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/UpdateServer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/UpdateServer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/UpdateServer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/UpdateServer) 

# UpdateUser
<a name="API_UpdateUser"></a>

Assigns new properties to a user. Parameters you pass modify any or all of the following: the home directory, role, and policy for the `UserName` and `ServerId` you specify.

The response returns the `ServerId` and the `UserName` for the updated user.

In the console, you can select *Restricted* when you create or update a user. This ensures that the user can't access anything outside of their home directory. The programmatic way to configure this behavior is to update the user. Set their `HomeDirectoryType` to `LOGICAL`, and specify `HomeDirectoryMappings` with `Entry` as root (`/`) and `Target` as their home directory.

For example, if the user's home directory is `/test/admin-user`, the following command updates the user so that their configuration in the console shows the *Restricted* flag as selected.

 ` aws transfer update-user --server-id <server-id> --user-name admin-user --home-directory-type LOGICAL --home-directory-mappings "[{\"Entry\":\"/\", \"Target\":\"/test/admin-user\"}]"` 

## Request Syntax
<a name="API_UpdateUser_RequestSyntax"></a>

```
{
   "HomeDirectory": "string",
   "HomeDirectoryMappings": [ 
      { 
         "Entry": "string",
         "Target": "string",
         "Type": "string"
      }
   ],
   "HomeDirectoryType": "string",
   "Policy": "string",
   "PosixProfile": { 
      "Gid": number,
      "SecondaryGids": [ number ],
      "Uid": number
   },
   "Role": "string",
   "ServerId": "string",
   "UserName": "string"
}
```

## Request Parameters
<a name="API_UpdateUser_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [HomeDirectory](#API_UpdateUser_RequestSyntax) **   <a name="TransferFamily-UpdateUser-request-HomeDirectory"></a>
The landing directory (folder) for a user when they log in to the server using the client.  
A `HomeDirectory` example is `/bucket_name/home/mydirectory`.  
You can use the `HomeDirectory` parameter for `HomeDirectoryType` when it is set to either `PATH` or `LOGICAL`.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `(|/.*)`   
Required: No

 ** [HomeDirectoryMappings](#API_UpdateUser_RequestSyntax) **   <a name="TransferFamily-UpdateUser-request-HomeDirectoryMappings"></a>
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the `Entry` and `Target` pair, where `Entry` shows how the path is made visible and `Target` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in `Target`. This value can be set only when `HomeDirectoryType` is set to *LOGICAL*.  
The following is an `Entry` and `Target` pair example.  
 `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]`   
In most cases, you can use this value instead of the session policy to lock down your user to the designated home directory ("`chroot`"). To do this, you can set `Entry` to '/' and set `Target` to the HomeDirectory parameter value.  
The following is an `Entry` and `Target` pair example for `chroot`.  
 `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]`   
Type: Array of [HomeDirectoryMapEntry](API_HomeDirectoryMapEntry.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50000 items.  
Required: No

 ** [HomeDirectoryType](#API_UpdateUser_RequestSyntax) **   <a name="TransferFamily-UpdateUser-request-HomeDirectoryType"></a>
The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to `PATH`, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to `LOGICAL`, you need to provide mappings in the `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon EFS paths visible to your users.  
If `HomeDirectoryType` is `LOGICAL`, you must provide mappings, using the `HomeDirectoryMappings` parameter. If, on the other hand, `HomeDirectoryType` is `PATH`, you provide an absolute path using the `HomeDirectory` parameter. You cannot have both `HomeDirectory` and `HomeDirectoryMappings` in your template.
Type: String  
Valid Values: `PATH | LOGICAL`   
Required: No

 ** [Policy](#API_UpdateUser_RequestSyntax) **   <a name="TransferFamily-UpdateUser-request-Policy"></a>
A session policy for your user so that you can use the same AWS Identity and Access Management (IAM) role across multiple users. This policy scopes down a user's access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`.  
This policy applies only when the domain of `ServerId` is Amazon S3. Amazon EFS does not use session policies.  
For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the `Policy` argument.  
For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html).  
For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the * AWS Security Token Service API Reference*.
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Required: No

 ** [PosixProfile](#API_UpdateUser_RequestSyntax) **   <a name="TransferFamily-UpdateUser-request-PosixProfile"></a>
Specifies the full POSIX identity, including user ID (`Uid`), group ID (`Gid`), and any secondary groups IDs (`SecondaryGids`), that controls your users' access to your Amazon Elastic File Systems (Amazon EFS). The POSIX permissions that are set on files and directories in your file system determines the level of access your users get when transferring files into and out of your Amazon EFS file systems.  
Type: [PosixProfile](API_PosixProfile.md) object  
Required: No

 ** [Role](#API_UpdateUser_RequestSyntax) **   <a name="TransferFamily-UpdateUser-request-Role"></a>
The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:.*role/\S+`   
Required: No

 ** [ServerId](#API_UpdateUser_RequestSyntax) **   <a name="TransferFamily-UpdateUser-request-ServerId"></a>
A system-assigned unique identifier for a Transfer Family server instance that the user is assigned to.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})`   
Required: Yes

 ** [UserName](#API_UpdateUser_RequestSyntax) **   <a name="TransferFamily-UpdateUser-request-UserName"></a>
A unique string that identifies a user and is associated with a server as specified by the `ServerId`. This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '\$1', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 100.  
Pattern: `[\w][\w@.-]{2,99}`   
Required: Yes

## Response Syntax
<a name="API_UpdateUser_ResponseSyntax"></a>

```
{
   "ServerId": "string",
   "UserName": "string"
}
```

## Response Elements
<a name="API_UpdateUser_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ServerId](#API_UpdateUser_ResponseSyntax) **   <a name="TransferFamily-UpdateUser-response-ServerId"></a>
A system-assigned unique identifier for a Transfer Family server instance that the account is assigned to.  
Type: String  
Length Constraints: Fixed length of 19.  
Pattern: `s-([0-9a-f]{17})` 

 ** [UserName](#API_UpdateUser_ResponseSyntax) **   <a name="TransferFamily-UpdateUser-response-UserName"></a>
The unique identifier for a user that is assigned to a server instance that was specified in the request.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 100.  
Pattern: `[\w][\w@.-]{2,99}` 

## Errors
<a name="API_UpdateUser_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The request has failed because the AWSTransfer Family service is not available.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## Examples
<a name="API_UpdateUser_Examples"></a>

### Example
<a name="API_UpdateUser_Example_1"></a>

The following example updates a Transfer Family user.

#### Sample Request
<a name="API_UpdateUser_Example_1_Request"></a>

```
{
   "HomeDirectory": "/bucket2/documentation",
   "HomeDirectoryMappings": [ 
      { 
         "Entry": "/directory1",
         "Target": "/bucket_name/home/mydirectory"
      }
   ],
   "HomeDirectoryType:" "PATH",
   "Role": "AssumeRole",
   "ServerId": "s-01234567890abcdef",
   "UserName": "my_user"
}
```

### Example
<a name="API_UpdateUser_Example_2"></a>

This is a sample response for this API call.

#### Sample Response
<a name="API_UpdateUser_Example_2_Response"></a>

```
{
   "ServerId": "s-01234567890abcdef",
   "UserName": "my_user"
}
```

## See Also
<a name="API_UpdateUser_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/UpdateUser) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/UpdateUser) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/UpdateUser) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/UpdateUser) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/UpdateUser) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/UpdateUser) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/UpdateUser) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/UpdateUser) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/UpdateUser) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/UpdateUser) 

# UpdateWebApp
<a name="API_UpdateWebApp"></a>

Assigns new properties to a web app. You can modify the access point, identity provider details, endpoint configuration, and the web app units.

For more information about using VPC endpoints with AWS Transfer Family, see [Create a Transfer Family web app in a VPC](https://docs.aws.amazon.com/transfer/latest/userguide/create-webapp-in-vpc.html).

## Request Syntax
<a name="API_UpdateWebApp_RequestSyntax"></a>

```
{
   "AccessEndpoint": "string",
   "EndpointDetails": { ... },
   "IdentityProviderDetails": { ... },
   "WebAppId": "string",
   "WebAppUnits": { ... }
}
```

## Request Parameters
<a name="API_UpdateWebApp_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccessEndpoint](#API_UpdateWebApp_RequestSyntax) **   <a name="TransferFamily-UpdateWebApp-request-AccessEndpoint"></a>
The `AccessEndpoint` is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Required: No

 ** [EndpointDetails](#API_UpdateWebApp_RequestSyntax) **   <a name="TransferFamily-UpdateWebApp-request-EndpointDetails"></a>
The updated endpoint configuration for the web app. You can modify the endpoint type and VPC configuration settings.  
Type: [UpdateWebAppEndpointDetails](API_UpdateWebAppEndpointDetails.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.  
Required: No

 ** [IdentityProviderDetails](#API_UpdateWebApp_RequestSyntax) **   <a name="TransferFamily-UpdateWebApp-request-IdentityProviderDetails"></a>
Provide updated identity provider values in a `WebAppIdentityProviderDetails` object.  
Type: [UpdateWebAppIdentityProviderDetails](API_UpdateWebAppIdentityProviderDetails.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.  
Required: No

 ** [WebAppId](#API_UpdateWebApp_RequestSyntax) **   <a name="TransferFamily-UpdateWebApp-request-WebAppId"></a>
Provide the identifier of the web app that you are updating.  
Type: String  
Length Constraints: Fixed length of 24.  
Pattern: `webapp-[0-9a-f]{17}`   
Required: Yes

 ** [WebAppUnits](#API_UpdateWebApp_RequestSyntax) **   <a name="TransferFamily-UpdateWebApp-request-WebAppUnits"></a>
A union that contains the value for number of concurrent connections or the user sessions on your web app.  
Type: [WebAppUnits](API_WebAppUnits.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.  
Required: No

## Response Syntax
<a name="API_UpdateWebApp_ResponseSyntax"></a>

```
{
   "WebAppId": "string"
}
```

## Response Elements
<a name="API_UpdateWebApp_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [WebAppId](#API_UpdateWebApp_ResponseSyntax) **   <a name="TransferFamily-UpdateWebApp-response-WebAppId"></a>
Returns the unique identifier for the web app being updated.  
Type: String  
Length Constraints: Fixed length of 24.  
Pattern: `webapp-[0-9a-f]{17}` 

## Errors
<a name="API_UpdateWebApp_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** ConflictException **   
This exception is thrown when the `UpdateServer` is called for a file transfer protocol-enabled server that has VPC as the endpoint type and the server's `VpcEndpointID` is not in the available state.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_UpdateWebApp_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/UpdateWebApp) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/UpdateWebApp) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/UpdateWebApp) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/UpdateWebApp) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/UpdateWebApp) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/UpdateWebApp) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/UpdateWebApp) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/UpdateWebApp) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/UpdateWebApp) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/UpdateWebApp) 

# UpdateWebAppCustomization
<a name="API_UpdateWebAppCustomization"></a>

Assigns new customization properties to a web app. You can modify the icon file, logo file, and title.

## Request Syntax
<a name="API_UpdateWebAppCustomization_RequestSyntax"></a>

```
{
   "FaviconFile": blob,
   "LogoFile": blob,
   "Title": "string",
   "WebAppId": "string"
}
```

## Request Parameters
<a name="API_UpdateWebAppCustomization_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [FaviconFile](#API_UpdateWebAppCustomization_RequestSyntax) **   <a name="TransferFamily-UpdateWebAppCustomization-request-FaviconFile"></a>
Specify an icon file data string (in base64 encoding).  
Type: Base64-encoded binary data object  
Length Constraints: Minimum length of 1. Maximum length of 20960.  
Required: No

 ** [LogoFile](#API_UpdateWebAppCustomization_RequestSyntax) **   <a name="TransferFamily-UpdateWebAppCustomization-request-LogoFile"></a>
Specify logo file data string (in base64 encoding).  
Type: Base64-encoded binary data object  
Length Constraints: Minimum length of 1. Maximum length of 51200.  
Required: No

 ** [Title](#API_UpdateWebAppCustomization_RequestSyntax) **   <a name="TransferFamily-UpdateWebAppCustomization-request-Title"></a>
Provide an updated title.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 100.  
Required: No

 ** [WebAppId](#API_UpdateWebAppCustomization_RequestSyntax) **   <a name="TransferFamily-UpdateWebAppCustomization-request-WebAppId"></a>
Provide the identifier of the web app that you are updating.  
Type: String  
Length Constraints: Fixed length of 24.  
Pattern: `webapp-[0-9a-f]{17}`   
Required: Yes

## Response Syntax
<a name="API_UpdateWebAppCustomization_ResponseSyntax"></a>

```
{
   "WebAppId": "string"
}
```

## Response Elements
<a name="API_UpdateWebAppCustomization_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [WebAppId](#API_UpdateWebAppCustomization_ResponseSyntax) **   <a name="TransferFamily-UpdateWebAppCustomization-response-WebAppId"></a>
Returns the unique identifier for the web app being updated.  
Type: String  
Length Constraints: Fixed length of 24.  
Pattern: `webapp-[0-9a-f]{17}` 

## Errors
<a name="API_UpdateWebAppCustomization_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** ConflictException **   
This exception is thrown when the `UpdateServer` is called for a file transfer protocol-enabled server that has VPC as the endpoint type and the server's `VpcEndpointID` is not in the available state.  
HTTP Status Code: 400

 ** InternalServiceError **   
This exception is thrown when an error occurs in the AWS Transfer Family service.  
HTTP Status Code: 500

 ** InvalidRequestException **   
This exception is thrown when the client submits a malformed request.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
This exception is thrown when a resource is not found by the AWSTransfer Family service.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

## See Also
<a name="API_UpdateWebAppCustomization_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/transfer-2018-11-05/UpdateWebAppCustomization) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/transfer-2018-11-05/UpdateWebAppCustomization) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/transfer-2018-11-05/UpdateWebAppCustomization) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/transfer-2018-11-05/UpdateWebAppCustomization) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/transfer-2018-11-05/UpdateWebAppCustomization) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/transfer-2018-11-05/UpdateWebAppCustomization) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/transfer-2018-11-05/UpdateWebAppCustomization) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/transfer-2018-11-05/UpdateWebAppCustomization) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/transfer-2018-11-05/UpdateWebAppCustomization) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/transfer-2018-11-05/UpdateWebAppCustomization) 