@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Security Token Service
@version 2011-06-15
@auth AWS SigV4
@endpoints 8
@toc root(8)

@endpoint POST /
@required {RoleArn: str, RoleSessionName: str}
@optional {PolicyArns: [PolicyDescriptorType], Policy: str, DurationSeconds: int, Tags: [Tag], TransitiveTagKeys: [str], ExternalId: str, SerialNumber: str, TokenCode: str, SourceIdentity: str, ProvidedContexts: [ProvidedContext]}
@returns(200) {Credentials: Credentials?{AccessKeyId: str, SecretAccessKey: str, SessionToken: str, Expiration: str(timestamp)}, AssumedRoleUser: AssumedRoleUser?{AssumedRoleId: str, Arn: str}, PackedPolicySize: int?, SourceIdentity: str?}

@endpoint POST /
@required {RoleArn: str, PrincipalArn: str, SAMLAssertion: str}
@optional {PolicyArns: [PolicyDescriptorType], Policy: str, DurationSeconds: int}
@returns(200) {Credentials: Credentials?{AccessKeyId: str, SecretAccessKey: str, SessionToken: str, Expiration: str(timestamp)}, AssumedRoleUser: AssumedRoleUser?{AssumedRoleId: str, Arn: str}, PackedPolicySize: int?, Subject: str?, SubjectType: str?, Issuer: str?, Audience: str?, NameQualifier: str?, SourceIdentity: str?}

@endpoint POST /
@required {RoleArn: str, RoleSessionName: str, WebIdentityToken: str}
@optional {ProviderId: str, PolicyArns: [PolicyDescriptorType], Policy: str, DurationSeconds: int}
@returns(200) {Credentials: Credentials?{AccessKeyId: str, SecretAccessKey: str, SessionToken: str, Expiration: str(timestamp)}, SubjectFromWebIdentityToken: str?, AssumedRoleUser: AssumedRoleUser?{AssumedRoleId: str, Arn: str}, PackedPolicySize: int?, Provider: str?, Audience: str?, SourceIdentity: str?}

@endpoint POST /
@required {EncodedMessage: str}
@returns(200) {DecodedMessage: str?}

@endpoint POST /
@required {AccessKeyId: str}
@returns(200) {Account: str?}

@endpoint POST /
@returns(200) {UserId: str?, Account: str?, Arn: str?}

@endpoint POST /
@required {Name: str}
@optional {Policy: str, PolicyArns: [PolicyDescriptorType], DurationSeconds: int, Tags: [Tag]}
@returns(200) {Credentials: Credentials?{AccessKeyId: str, SecretAccessKey: str, SessionToken: str, Expiration: str(timestamp)}, FederatedUser: FederatedUser?{FederatedUserId: str, Arn: str}, PackedPolicySize: int?}

@endpoint POST /
@optional {DurationSeconds: int, SerialNumber: str, TokenCode: str}
@returns(200) {Credentials: Credentials?{AccessKeyId: str, SecretAccessKey: str, SessionToken: str, Expiration: str(timestamp)}}

@end
