

# CheckoutBorrowLicense


Checks out the specified license for offline use.

## Request Syntax


```
{
   "CheckoutMetadata": [ 
      { 
         "Name": "string",
         "Value": "string"
      }
   ],
   "ClientToken": "string",
   "DigitalSignatureMethod": "string",
   "Entitlements": [ 
      { 
         "Name": "string",
         "Unit": "string",
         "Value": "string"
      }
   ],
   "LicenseArn": "string",
   "NodeId": "string"
}
```

## Request Parameters


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.

 ** [CheckoutMetadata](#API_CheckoutBorrowLicense_RequestSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-request-CheckoutMetadata"></a>
Information about constraints.  
Type: Array of [Metadata](API_Metadata.md) objects  
Required: No

 ** [ClientToken](#API_CheckoutBorrowLicense_RequestSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-request-ClientToken"></a>
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.  
Type: String  
Length Constraints: Maximum length of 2048.  
Pattern: `\S+`   
Required: Yes

 ** [DigitalSignatureMethod](#API_CheckoutBorrowLicense_RequestSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-request-DigitalSignatureMethod"></a>
Digital signature method. The possible value is JSON Web Signature (JWS) algorithm PS384. For more information, see [RFC 7518 Digital Signature with RSASSA-PSS](https://tools.ietf.org/html/rfc7518#section-3.5).  
Type: String  
Valid Values: `JWT_PS384`   
Required: Yes

 ** [Entitlements](#API_CheckoutBorrowLicense_RequestSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-request-Entitlements"></a>
License entitlements. Partial checkouts are not supported.  
Type: Array of [EntitlementData](API_EntitlementData.md) objects  
Required: Yes

 ** [LicenseArn](#API_CheckoutBorrowLicense_RequestSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-request-LicenseArn"></a>
Amazon Resource Name (ARN) of the license. The license must use the borrow consumption configuration.  
Type: String  
Length Constraints: Maximum length of 2048.  
Pattern: `^arn:aws[a-zA-Z-]*:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$`   
Required: Yes

 ** [NodeId](#API_CheckoutBorrowLicense_RequestSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-request-NodeId"></a>
Node ID.  
Type: String  
Required: No

## Response Syntax


```
{
   "CheckoutMetadata": [ 
      { 
         "Name": "string",
         "Value": "string"
      }
   ],
   "EntitlementsAllowed": [ 
      { 
         "Name": "string",
         "Unit": "string",
         "Value": "string"
      }
   ],
   "Expiration": "string",
   "IssuedAt": "string",
   "LicenseArn": "string",
   "LicenseConsumptionToken": "string",
   "NodeId": "string",
   "SignedToken": "string"
}
```

## Response Elements


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

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

 ** [CheckoutMetadata](#API_CheckoutBorrowLicense_ResponseSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-response-CheckoutMetadata"></a>
Information about constraints.  
Type: Array of [Metadata](API_Metadata.md) objects

 ** [EntitlementsAllowed](#API_CheckoutBorrowLicense_ResponseSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-response-EntitlementsAllowed"></a>
Allowed license entitlements.  
Type: Array of [EntitlementData](API_EntitlementData.md) objects

 ** [Expiration](#API_CheckoutBorrowLicense_ResponseSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-response-Expiration"></a>
Date and time at which the license checkout expires.  
Type: String  
Length Constraints: Maximum length of 50.  
Pattern: `^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])T(2[0-3]|[0-1][0-9]):([0-5][0-9]):([0-5][0-9])(\.[0-9]+)?(Z|[+-](?:2[ 0-3]|[0-1][0-9]):[0-5][0-9])+$` 

 ** [IssuedAt](#API_CheckoutBorrowLicense_ResponseSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-response-IssuedAt"></a>
Date and time at which the license checkout is issued.  
Type: String  
Length Constraints: Maximum length of 50.  
Pattern: `^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])T(2[0-3]|[0-1][0-9]):([0-5][0-9]):([0-5][0-9])(\.[0-9]+)?(Z|[+-](?:2[ 0-3]|[0-1][0-9]):[0-5][0-9])+$` 

 ** [LicenseArn](#API_CheckoutBorrowLicense_ResponseSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-response-LicenseArn"></a>
Amazon Resource Name (ARN) of the license.  
Type: String  
Length Constraints: Maximum length of 2048.  
Pattern: `^arn:aws[a-zA-Z-]*:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$` 

 ** [LicenseConsumptionToken](#API_CheckoutBorrowLicense_ResponseSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-response-LicenseConsumptionToken"></a>
License consumption token.  
Type: String

 ** [NodeId](#API_CheckoutBorrowLicense_ResponseSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-response-NodeId"></a>
Node ID.  
Type: String

 ** [SignedToken](#API_CheckoutBorrowLicense_ResponseSyntax) **   <a name="licensemanager-CheckoutBorrowLicense-response-SignedToken"></a>
Signed token.  
Type: String  
Length Constraints: Minimum length of 4096.

## Errors


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

 ** AccessDeniedException **   
Access to resource denied.  
HTTP Status Code: 400

 ** AuthorizationException **   
The AWS user account does not have permission to perform the action. Check the IAM policy associated with this account.  
HTTP Status Code: 400

 ** EntitlementNotAllowedException **   
The entitlement is not allowed.  
HTTP Status Code: 400

 ** InvalidParameterValueException **   
One or more parameter values are not valid.  
HTTP Status Code: 400

 ** NoEntitlementsAllowedException **   
There are no entitlements found for this license, or the entitlement maximum count is reached.  
HTTP Status Code: 400

 ** RateLimitExceededException **   
Too many requests have been submitted. Try again after a brief wait.  
HTTP Status Code: 400

 ** RedirectException **   
This is not the correct Region for the resource. Try again.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The resource cannot be found.  
HTTP Status Code: 400

 ** ServerInternalException **   
The server experienced an internal error. Try again.  
HTTP Status Code: 500

 ** UnsupportedDigitalSignatureMethodException **   
The digital signature method is unsupported. Try your request again.  
HTTP Status Code: 400

 ** ValidationException **   
The provided input is not valid. Try your request again.  
HTTP Status Code: 400

## See Also


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/license-manager-2018-08-01/CheckoutBorrowLicense) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/license-manager-2018-08-01/CheckoutBorrowLicense) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/license-manager-2018-08-01/CheckoutBorrowLicense) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/license-manager-2018-08-01/CheckoutBorrowLicense) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/license-manager-2018-08-01/CheckoutBorrowLicense) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/license-manager-2018-08-01/CheckoutBorrowLicense) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/license-manager-2018-08-01/CheckoutBorrowLicense) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/license-manager-2018-08-01/CheckoutBorrowLicense) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/license-manager-2018-08-01/CheckoutBorrowLicense) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/license-manager-2018-08-01/CheckoutBorrowLicense) 