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.
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.
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 firstname.lastname@example.org 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:
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:
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.
Contains information about an AWS account that is a member of an organization.
Contains a list of child entities, either OUs or accounts.
Contains the status about a CreateAccount request to create an AWS account in an organization.
A structure that contains details of a service principal that is enabled to integrate with AWS Organizations.
Contains information that must be exchanged to securely establish a relationship between two accounts (an originator and a recipient). For example, when a master account (the originator) invites another account (the recipient) to join its organization, the two accounts exchange information as a series of handshake requests and responses.
Note: Handshakes that are CANCELED, ACCEPTED, or DECLINED show up in lists for only 30 days after entering that state After that they are deleted.
Specifies the criteria that are used to select the handshakes for the operation.
Identifies a participant in a handshake.
Contains additional data that is needed to process a handshake.
Contains details about an organization. An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies .
Contains details about an organizational unit (OU). An OU is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.
A client for the Organizations API.
Contains information about either a root or an organizational unit (OU) that can contain OUs or accounts in an organization.
Contains rules to be applied to the affected accounts. Policies can be attached directly to accounts, or to roots and OUs to affect all accounts in those hierarchies.
Contains information about a policy, but does not include the content. To see the content of a policy, see DescribePolicy.
Contains information about a root, OU, or account that a policy is attached to.
Contains information about a policy type and its status in the associated root.
Contains details about a root. A root is a top-level parent node in the hierarchy of an organization that can contain organizational units (OUs) and accounts. Every root contains every AWS account in the organization. Each root enables the accounts to be organized in a different way and to have different policy types enabled for use in that root.
Errors returned by AcceptHandshake
Errors returned by AttachPolicy
Errors returned by CancelHandshake
Errors returned by CreateAccount
Errors returned by CreateOrganization
Errors returned by CreateOrganizationalUnit
Errors returned by CreatePolicy
Errors returned by DeclineHandshake
Errors returned by DeleteOrganization
Errors returned by DeleteOrganizationalUnit
Errors returned by DeletePolicy
Errors returned by DescribeAccount
Errors returned by DescribeCreateAccountStatus
Errors returned by DescribeHandshake
Errors returned by DescribeOrganization
Errors returned by DescribeOrganizationalUnit
Errors returned by DescribePolicy
Errors returned by DetachPolicy
Errors returned by DisableAWSServiceAccess
Errors returned by DisablePolicyType
Errors returned by EnableAWSServiceAccess
Errors returned by EnableAllFeatures
Errors returned by EnablePolicyType
Errors returned by InviteAccountToOrganization
Errors returned by LeaveOrganization
Errors returned by ListAWSServiceAccessForOrganization
Errors returned by ListAccounts
Errors returned by ListAccountsForParent
Errors returned by ListChildren
Errors returned by ListCreateAccountStatus
Errors returned by ListHandshakesForAccount
Errors returned by ListHandshakesForOrganization
Errors returned by ListOrganizationalUnitsForParent
Errors returned by ListParents
Errors returned by ListPolicies
Errors returned by ListPoliciesForTarget
Errors returned by ListRoots
Errors returned by ListTargetsForPolicy
Errors returned by MoveAccount
Errors returned by RemoveAccountFromOrganization
Errors returned by UpdateOrganizationalUnit
Errors returned by UpdatePolicy
Trait representing the capabilities of the Organizations API. Organizations clients implement this trait.