AWS Organizations API Reference
AWS Organizations is a web service that enables you to consolidate your multiple AWS accounts into an organization and centrally manage your accounts and their resources.
This guide provides descriptions of the Organizations API. For more information about using this service, see the AWS Organizations User Guide.
API Version
This version of the Organizations API Reference documents the Organizations API version 2016-11-28.
As an alternative to using the API directly, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, and more). The SDKs provide a convenient way to create programmatic access to AWS Organizations. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.
We recommend that you use the AWS SDKs to make programmatic API calls to Organizations. However, you also can use the Organizations Query API to make direct calls to the Organizations web service. To learn more about the Organizations Query API, see Making Query Requests in the AWS Organizations User Guide. Organizations supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.
Signing Requests
When you send HTTP requests to AWS, you must sign the requests so that AWS can identify who sent them. You sign requests with your AWS access key, which consists of an access key ID and a secret access key. We strongly recommend that you do not create an access key for your root account. Anyone who has the access key for your root account has unrestricted access to all the resources in your account. Instead, create an access key for an IAM user account that has administrative privileges. As another option, use AWS Security Token Service to generate temporary security credentials, and use those credentials to sign requests.
To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement.
When you use the AWS Command Line Interface (AWS CLI) or one of the AWS SDKs to make requests to AWS, these tools automatically sign the requests for you with the access key that you specify when you configure the tools.
In this release, each organization can have only one root. In a future release, a single organization will support multiple roots.
Support and Feedback for AWS Organizations
We welcome your feedback. Send your comments to feedback-awsorganizations@amazon.com or post your feedback and questions in the AWS Organizations support forum. For more information about the AWS support forums, see Forums Help.
Endpoint to Call When Using the CLI or the AWS API
For the current release of Organizations, you must specify the
us-east-1
region for all AWS API and CLI calls. You can do this in the
CLI by using these parameters and commands:
Use the following parameter with each command to specify both the endpoint and its region:
--endpoint-url https://organizations.us-east-1.amazonaws.com
Use the default endpoint, but configure your default region with this command:
aws configure set default.region us-east-1
Use the following parameter with each command to specify the endpoint:
--region us-east-1
For the various SDKs used to call the APIs, see the documentation for the SDK of interest to learn how to direct the requests to a specific endpoint. For more information, see Regions and Endpoints in the AWS General Reference.
How examples are presented
The JSON returned by the AWS Organizations service as response to your requests is returned as a single long string without line breaks or formatting whitespace. Both line breaks and whitespace are included in the examples in this guide to improve readability. When example input parameters also would result in long strings that would extend beyond the screen, we insert line breaks to enhance readability. You should always submit the input as a single JSON text string.
Recording API Requests
AWS Organizations supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by AWS CloudTrail, you can determine which requests were successfully made to Organizations, who made the request, when it was made, and so on. For more about AWS Organizations and its support for AWS CloudTrail, see Logging AWS Organizations Events with AWS CloudTrail in the AWS Organizations User Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.
organizations(config = list())
Optional configuration of credentials, endpoint, and/or region.
svc <- organizations( config = list( credentials = list( creds = list( access_key_id = "string", secret_access_key = "string", session_token = "string" ), profile = "string" ), endpoint = "string", region = "string" ) )
accept_handshake | Sends a response to the originator of a handshake agreeing to the action proposed by the handshake request |
attach_policy | Attaches a policy to a root, an organizational unit (OU), or an individual account |
cancel_handshake | Cancels a handshake |
create_account | Creates an AWS account that is automatically a member of the organization whose credentials made the request |
create_gov_cloud_account | This action is available if all of the following are true: - You're authorized to create accounts in the AWS GovCloud (US) Region |
create_organization | Creates an AWS organization |
create_organizational_unit | Creates an organizational unit (OU) within a root or parent OU |
create_policy | Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual AWS account |
decline_handshake | Declines a handshake request |
delete_organization | Deletes the organization |
delete_organizational_unit | Deletes an organizational unit (OU) from a root or another OU |
delete_policy | Deletes the specified policy from your organization |
describe_account | Retrieves AWS Organizations-related information about the specified account |
describe_create_account_status | Retrieves the current status of an asynchronous request to create an account |
describe_handshake | Retrieves information about a previously requested handshake |
describe_organization | Retrieves information about the organization that the user's account belongs to |
describe_organizational_unit | Retrieves information about an organizational unit (OU) |
describe_policy | Retrieves information about a policy |
detach_policy | Detaches a policy from a target root, organizational unit (OU), or account |
disable_aws_service_access | Disables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations |
disable_policy_type | Disables an organizational control policy type in a root |
enable_aws_service_access | Enables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations |
enable_all_features | Enables all features in an organization |
enable_policy_type | Enables a policy type in a root |
invite_account_to_organization | Sends an invitation to another account to join your organization as a member account |
leave_organization | Removes a member account from its parent organization |
list_aws_service_access_for_organization | Returns a list of the AWS services that you enabled to integrate with your organization |
list_accounts | Lists all the accounts in the organization |
list_accounts_for_parent | Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU) |
list_children | Lists all of the organizational units (OUs) or accounts that are contained in the specified parent OU or root |
list_create_account_status | Lists the account creation requests that match the specified status that is currently being tracked for the organization |
list_handshakes_for_account | Lists the current handshakes that are associated with the account of the requesting user |
list_handshakes_for_organization | Lists the handshakes that are associated with the organization that the requesting user is part of |
list_organizational_units_for_parent | Lists the organizational units (OUs) in a parent organizational unit or root |
list_parents | Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or account |
list_policies | Retrieves the list of all policies in an organization of a specified type |
list_policies_for_target | Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account |
list_roots | Lists the roots that are defined in the current organization |
list_tags_for_resource | Lists tags for the specified resource |
list_targets_for_policy | Lists all the roots, organizational units (OUs), and accounts that the specified policy is attached to |
move_account | Moves an account from its current source parent root or organizational unit (OU) to the specified destination parent root or OU |
remove_account_from_organization | Removes the specified account from the organization |
tag_resource | Adds one or more tags to the specified resource |
untag_resource | Removes a tag from the specified resource |
update_organizational_unit | Renames the specified organizational unit (OU) |
# NOT RUN {
# Bill is the owner of an organization, and he invites Juan's account
# (222222222222) to join his organization. The following example shows
# Juan's account accepting the handshake and thus agreeing to the
# invitation.
# }
# NOT RUN {
svc <- organizations()
svc$accept_handshake(
HandshakeId = "h-examplehandshakeid111"
)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab