@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Single Sign-On Admin
@version 2020-07-20
@auth AWS SigV4
@endpoints 73
@hint download_for_search
@toc root(73)

@endpoint POST /
@required {CustomerManagedPolicyReference: CustomerManagedPolicyReference, InstanceArn: str, PermissionSetArn: str}

@endpoint POST /
@required {InstanceArn: str, ManagedPolicyArn: str, PermissionSetArn: str}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str, PrincipalId: str, PrincipalType: str, TargetId: str, TargetType: str}
@returns(200) {AccountAssignmentCreationStatus: AccountAssignmentOperationStatus?{CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, PrincipalId: str?, PrincipalType: str?, RequestId: str?, Status: str?, TargetId: str?, TargetType: str?}}

@endpoint POST /
@required {ApplicationProviderArn: str, InstanceArn: str, Name: str}
@optional {ClientToken: str, Description: str, PortalOptions: PortalOptions, Status: str, Tags: [Tag]}
@returns(200) {ApplicationArn: str?}

@endpoint POST /
@required {ApplicationArn: str, PrincipalId: str, PrincipalType: str}

@endpoint POST /
@optional {ClientToken: str, Name: str, Tags: [Tag]}
@returns(200) {InstanceArn: str?}

@endpoint POST /
@required {InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration, InstanceArn: str}

@endpoint POST /
@required {InstanceArn: str, Name: str}
@optional {Description: str, RelayState: str, SessionDuration: str, Tags: [Tag]}
@returns(200) {PermissionSet: PermissionSet?{CreatedDate: str(timestamp)?, Description: str?, Name: str?, PermissionSetArn: str?, RelayState: str?, SessionDuration: str?}}

@endpoint POST /
@required {InstanceArn: str, Name: str, TrustedTokenIssuerConfiguration: TrustedTokenIssuerConfiguration, TrustedTokenIssuerType: str}
@optional {ClientToken: str, Tags: [Tag]}
@returns(200) {TrustedTokenIssuerArn: str?}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str, PrincipalId: str, PrincipalType: str, TargetId: str, TargetType: str}
@returns(200) {AccountAssignmentDeletionStatus: AccountAssignmentOperationStatus?{CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, PrincipalId: str?, PrincipalType: str?, RequestId: str?, Status: str?, TargetId: str?, TargetType: str?}}

@endpoint POST /
@required {ApplicationArn: str}

@endpoint POST /
@required {ApplicationArn: str, Scope: str}

@endpoint POST /
@required {ApplicationArn: str, PrincipalId: str, PrincipalType: str}

@endpoint POST /
@required {ApplicationArn: str, AuthenticationMethodType: str}

@endpoint POST /
@required {ApplicationArn: str, GrantType: str}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str}

@endpoint POST /
@required {InstanceArn: str}

@endpoint POST /
@required {InstanceArn: str}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str}

@endpoint POST /
@required {TrustedTokenIssuerArn: str}

@endpoint POST /
@required {AccountAssignmentCreationRequestId: str, InstanceArn: str}
@returns(200) {AccountAssignmentCreationStatus: AccountAssignmentOperationStatus?{CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, PrincipalId: str?, PrincipalType: str?, RequestId: str?, Status: str?, TargetId: str?, TargetType: str?}}

@endpoint POST /
@required {AccountAssignmentDeletionRequestId: str, InstanceArn: str}
@returns(200) {AccountAssignmentDeletionStatus: AccountAssignmentOperationStatus?{CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, PrincipalId: str?, PrincipalType: str?, RequestId: str?, Status: str?, TargetId: str?, TargetType: str?}}

@endpoint POST /
@required {ApplicationArn: str}
@returns(200) {ApplicationAccount: str?, ApplicationArn: str?, ApplicationProviderArn: str?, CreatedDate: str(timestamp)?, Description: str?, InstanceArn: str?, Name: str?, PortalOptions: PortalOptions?{SignInOptions: SignInOptions?{ApplicationUrl: str?, Origin: str}, Visibility: str?}, Status: str?}

@endpoint POST /
@required {ApplicationArn: str, PrincipalId: str, PrincipalType: str}
@returns(200) {ApplicationArn: str?, PrincipalId: str?, PrincipalType: str?}

@endpoint POST /
@required {ApplicationProviderArn: str}
@returns(200) {ApplicationProviderArn: str, DisplayData: DisplayData?{Description: str?, DisplayName: str?, IconUrl: str?}, FederationProtocol: str?, ResourceServerConfig: ResourceServerConfig?{Scopes: map<str,ResourceServerScopeDetails>?}}

@endpoint POST /
@required {InstanceArn: str}
@returns(200) {CreatedDate: str(timestamp)?, IdentityStoreId: str?, InstanceArn: str?, Name: str?, OwnerAccountId: str?, Status: str?}

@endpoint POST /
@required {InstanceArn: str}
@returns(200) {InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration?{AccessControlAttributes: [AccessControlAttribute]}, Status: str?, StatusReason: str?}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str}
@returns(200) {PermissionSet: PermissionSet?{CreatedDate: str(timestamp)?, Description: str?, Name: str?, PermissionSetArn: str?, RelayState: str?, SessionDuration: str?}}

@endpoint POST /
@required {InstanceArn: str, ProvisionPermissionSetRequestId: str}
@returns(200) {PermissionSetProvisioningStatus: PermissionSetProvisioningStatus?{AccountId: str?, CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, RequestId: str?, Status: str?}}

@endpoint POST /
@required {TrustedTokenIssuerArn: str}
@returns(200) {Name: str?, TrustedTokenIssuerArn: str?, TrustedTokenIssuerConfiguration: TrustedTokenIssuerConfiguration?{OidcJwtConfiguration: OidcJwtConfiguration?{ClaimAttributePath: str, IdentityStoreAttributePath: str, IssuerUrl: str, JwksRetrievalOption: str}}, TrustedTokenIssuerType: str?}

@endpoint POST /
@required {CustomerManagedPolicyReference: CustomerManagedPolicyReference, InstanceArn: str, PermissionSetArn: str}

@endpoint POST /
@required {InstanceArn: str, ManagedPolicyArn: str, PermissionSetArn: str}

@endpoint POST /
@required {ApplicationArn: str, Scope: str}
@returns(200) {AuthorizedTargets: [str]?, Scope: str}

@endpoint POST /
@required {ApplicationArn: str}
@returns(200) {AssignmentRequired: bool}

@endpoint POST /
@required {ApplicationArn: str, AuthenticationMethodType: str}
@returns(200) {AuthenticationMethod: AuthenticationMethod?{Iam: IamAuthenticationMethod?{ActorPolicy: ActorPolicyDocument}}}

@endpoint POST /
@required {ApplicationArn: str, GrantType: str}
@returns(200) {Grant: Grant{AuthorizationCode: AuthorizationCodeGrant?{RedirectUris: [str]?}, JwtBearer: JwtBearerGrant?{AuthorizedTokenIssuers: [AuthorizedTokenIssuer]?}, RefreshToken: RefreshTokenGrant?, TokenExchange: TokenExchangeGrant?}}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str}
@returns(200) {InlinePolicy: str?}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str}
@returns(200) {PermissionsBoundary: PermissionsBoundary?{CustomerManagedPolicyReference: CustomerManagedPolicyReference?{Name: str, Path: str?}, ManagedPolicyArn: str?}}

@endpoint POST /
@required {InstanceArn: str}
@optional {Filter: OperationStatusFilter, MaxResults: int, NextToken: str}
@returns(200) {AccountAssignmentsCreationStatus: [AccountAssignmentOperationStatusMetadata]?, NextToken: str?}

@endpoint POST /
@required {InstanceArn: str}
@optional {Filter: OperationStatusFilter, MaxResults: int, NextToken: str}
@returns(200) {AccountAssignmentsDeletionStatus: [AccountAssignmentOperationStatusMetadata]?, NextToken: str?}

@endpoint POST /
@required {AccountId: str, InstanceArn: str, PermissionSetArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {AccountAssignments: [AccountAssignment]?, NextToken: str?}

@endpoint POST /
@required {InstanceArn: str, PrincipalId: str, PrincipalType: str}
@optional {Filter: ListAccountAssignmentsFilter, MaxResults: int, NextToken: str}
@returns(200) {AccountAssignments: [AccountAssignmentForPrincipal]?, NextToken: str?}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str}
@optional {MaxResults: int, NextToken: str, ProvisioningStatus: str}
@returns(200) {AccountIds: [str]?, NextToken: str?}

@endpoint POST /
@required {ApplicationArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, Scopes: [ScopeDetails]}

@endpoint POST /
@required {ApplicationArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {ApplicationAssignments: [ApplicationAssignment]?, NextToken: str?}

@endpoint POST /
@required {InstanceArn: str, PrincipalId: str, PrincipalType: str}
@optional {Filter: ListApplicationAssignmentsFilter, MaxResults: int, NextToken: str}
@returns(200) {ApplicationAssignments: [ApplicationAssignmentForPrincipal]?, NextToken: str?}

@endpoint POST /
@required {ApplicationArn: str}
@optional {NextToken: str}
@returns(200) {AuthenticationMethods: [AuthenticationMethodItem]?, NextToken: str?}

@endpoint POST /
@required {ApplicationArn: str}
@optional {NextToken: str}
@returns(200) {Grants: [GrantItem], NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {ApplicationProviders: [ApplicationProvider]?, NextToken: str?}

@endpoint POST /
@required {InstanceArn: str}
@optional {Filter: ListApplicationsFilter, MaxResults: int, NextToken: str}
@returns(200) {Applications: [Application]?, NextToken: str?}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {CustomerManagedPolicyReferences: [CustomerManagedPolicyReference]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {Instances: [InstanceMetadata]?, NextToken: str?}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {AttachedManagedPolicies: [AttachedManagedPolicy]?, NextToken: str?}

@endpoint POST /
@required {InstanceArn: str}
@optional {Filter: OperationStatusFilter, MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, PermissionSetsProvisioningStatus: [PermissionSetProvisioningStatusMetadata]?}

@endpoint POST /
@required {InstanceArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, PermissionSets: [str]?}

@endpoint POST /
@required {AccountId: str, InstanceArn: str}
@optional {MaxResults: int, NextToken: str, ProvisioningStatus: str}
@returns(200) {NextToken: str?, PermissionSets: [str]?}

@endpoint POST /
@required {ResourceArn: str}
@optional {InstanceArn: str, NextToken: str}
@returns(200) {NextToken: str?, Tags: [Tag]?}

@endpoint POST /
@required {InstanceArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, TrustedTokenIssuers: [TrustedTokenIssuerMetadata]?}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str, TargetType: str}
@optional {TargetId: str}
@returns(200) {PermissionSetProvisioningStatus: PermissionSetProvisioningStatus?{AccountId: str?, CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, RequestId: str?, Status: str?}}

@endpoint POST /
@required {ApplicationArn: str, Scope: str}
@optional {AuthorizedTargets: [str]}

@endpoint POST /
@required {ApplicationArn: str, AssignmentRequired: bool}

@endpoint POST /
@required {ApplicationArn: str, AuthenticationMethod: AuthenticationMethod, AuthenticationMethodType: str}

@endpoint POST /
@required {ApplicationArn: str, Grant: Grant, GrantType: str}

@endpoint POST /
@required {InlinePolicy: str, InstanceArn: str, PermissionSetArn: str}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str, PermissionsBoundary: PermissionsBoundary}

@endpoint POST /
@required {ResourceArn: str, Tags: [Tag]}
@optional {InstanceArn: str}

@endpoint POST /
@required {ResourceArn: str, TagKeys: [str]}
@optional {InstanceArn: str}

@endpoint POST /
@required {ApplicationArn: str}
@optional {Description: str, Name: str, PortalOptions: UpdateApplicationPortalOptions, Status: str}

@endpoint POST /
@required {InstanceArn: str, Name: str}

@endpoint POST /
@required {InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration, InstanceArn: str}

@endpoint POST /
@required {InstanceArn: str, PermissionSetArn: str}
@optional {Description: str, RelayState: str, SessionDuration: str}

@endpoint POST /
@required {TrustedTokenIssuerArn: str}
@optional {Name: str, TrustedTokenIssuerConfiguration: TrustedTokenIssuerUpdateConfiguration}

@end
