Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

PutApplicationGrant - IAM Identity Center

PutApplicationGrant

Creates a configuration for an application to use grants. Conceptually grants are authorization to request actions related to tokens. This configuration will be used when parties are requesting and receiving tokens during the trusted identity propagation process. For more information on the IAM Identity Center supported grant workflows, see SAML 2.0 and OAuth 2.0.

A grant is created between your applications and Identity Center instance which enables an application to use specified mechanisms to obtain tokens. These tokens are used by your applications to gain access to AWS resources on behalf of users. The following elements are within these exchanges:

  • Requester - The application requesting access to AWS resources.

  • Subject - Typically the user that is requesting access to AWS resources.

  • Grant - Conceptually, a grant is authorization to access AWS resources. These grants authorize token generation for authenticating access to the requester and for the request to make requests on behalf of the subjects. There are four types of grants:

    • AuthorizationCode - Allows an application to request authorization through a series of user-agent redirects.

    • JWT bearer - Authorizes an application to exchange a JSON Web Token that came from an external identity provider. To learn more, see RFC 6479.

    • Refresh token - Enables application to request new access tokens to replace expiring or expired access tokens.

    • Exchange token - A grant that requests tokens from the authorization server by providing a ‘subject’ token with access scope authorizing trusted identity propagation to this application. To learn more, see RFC 8693.

  • Authorization server - IAM Identity Center requests tokens.

User credentials are never shared directly within these exchanges. Instead, applications use grants to request access tokens from IAM Identity Center. For more information, see RFC 6479.

Use cases
  • Connecting to custom applications.

  • Configuring an AWS service to make calls to another AWS services using JWT tokens.

Request Syntax

{ "ApplicationArn": "string", "Grant": { ... }, "GrantType": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

ApplicationArn

Specifies the ARN of the application to update.

Type: String

Length Constraints: Minimum length of 10. Maximum length of 1224.

Pattern: arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}

Required: Yes

Grant

Specifies a structure that describes the grant to update.

Type: Grant object

Note: This object is a Union. Only one member of this object can be specified or returned.

Required: Yes

GrantType

Specifies the type of grant to update.

Type: String

Valid Values: authorization_code | refresh_token | urn:ietf:params:oauth:grant-type:jwt-bearer | urn:ietf:params:oauth:grant-type:token-exchange

Required: Yes

Response Elements

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

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

You do not have sufficient access to perform this action.

HTTP Status Code: 400

ConflictException

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

HTTP Status Code: 400

InternalServerException

The request processing has failed because of an unknown error, exception, or failure with an internal server.

HTTP Status Code: 500

ResourceNotFoundException

Indicates that a requested resource is not found.

HTTP Status Code: 400

ThrottlingException

Indicates that the principal has crossed the throttling limits of the API operations.

HTTP Status Code: 400

ValidationException

The request failed because it contains a syntax error.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following:

PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.