@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Simple Notification Service
@version 2010-03-31
@auth AWS SigV4
@endpoints 42
@hint download_for_search
@toc root(42)

@endpoint POST /
@required {TopicArn: str, Label: str, AWSAccountId: [str], ActionName: [str]}

@endpoint POST /
@required {phoneNumber: str}
@returns(200) {isOptedOut: bool?}

@endpoint POST /
@required {TopicArn: str, Token: str}
@optional {AuthenticateOnUnsubscribe: str}
@returns(200) {SubscriptionArn: str?}

@endpoint POST /
@required {Name: str, Platform: str, Attributes: map<str,str>}
@returns(200) {PlatformApplicationArn: str?}

@endpoint POST /
@required {PlatformApplicationArn: str, Token: str}
@optional {CustomUserData: str, Attributes: map<str,str>}
@returns(200) {EndpointArn: str?}

@endpoint POST /
@required {PhoneNumber: str}
@optional {LanguageCode: str}

@endpoint POST /
@required {Name: str}
@optional {Attributes: map<str,str>, Tags: [Tag], DataProtectionPolicy: str}
@returns(200) {TopicArn: str?}

@endpoint POST /
@required {EndpointArn: str}

@endpoint POST /
@required {PlatformApplicationArn: str}

@endpoint POST /
@required {PhoneNumber: str}

@endpoint POST /
@required {TopicArn: str}

@endpoint POST /
@required {ResourceArn: str}
@returns(200) {DataProtectionPolicy: str?}

@endpoint POST /
@required {EndpointArn: str}
@returns(200) {Attributes: map<str,str>?}

@endpoint POST /
@required {PlatformApplicationArn: str}
@returns(200) {Attributes: map<str,str>?}

@endpoint POST /
@optional {attributes: [str]}
@returns(200) {attributes: map<str,str>?}

@endpoint POST /
@returns(200) {IsInSandbox: bool}

@endpoint POST /
@required {SubscriptionArn: str}
@returns(200) {Attributes: map<str,str>?}

@endpoint POST /
@required {TopicArn: str}
@returns(200) {Attributes: map<str,str>?}

@endpoint POST /
@required {PlatformApplicationArn: str}
@optional {NextToken: str}
@returns(200) {Endpoints: [Endpoint]?, NextToken: str?}

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

@endpoint POST /
@optional {nextToken: str}
@returns(200) {phoneNumbers: [str]?, nextToken: str?}

@endpoint POST /
@optional {NextToken: str}
@returns(200) {PlatformApplications: [PlatformApplication]?, NextToken: str?}

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

@endpoint POST /
@optional {NextToken: str}
@returns(200) {Subscriptions: [Subscription]?, NextToken: str?}

@endpoint POST /
@required {TopicArn: str}
@optional {NextToken: str}
@returns(200) {Subscriptions: [Subscription]?, NextToken: str?}

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

@endpoint POST /
@optional {NextToken: str}
@returns(200) {Topics: [Topic]?, NextToken: str?}

@endpoint POST /
@required {phoneNumber: str}

@endpoint POST /
@required {Message: str}
@optional {TopicArn: str, TargetArn: str, PhoneNumber: str, Subject: str, MessageStructure: str, MessageAttributes: map<str,MessageAttributeValue>, MessageDeduplicationId: str, MessageGroupId: str}
@returns(200) {MessageId: str?, SequenceNumber: str?}

@endpoint POST /
@required {TopicArn: str, PublishBatchRequestEntries: [PublishBatchRequestEntry]}
@returns(200) {Successful: [PublishBatchResultEntry]?, Failed: [BatchResultErrorEntry]?}

@endpoint POST /
@required {ResourceArn: str, DataProtectionPolicy: str}

@endpoint POST /
@required {TopicArn: str, Label: str}

@endpoint POST /
@required {EndpointArn: str, Attributes: map<str,str>}

@endpoint POST /
@required {PlatformApplicationArn: str, Attributes: map<str,str>}

@endpoint POST /
@required {attributes: map<str,str>}

@endpoint POST /
@required {SubscriptionArn: str, AttributeName: str}
@optional {AttributeValue: str}

@endpoint POST /
@required {TopicArn: str, AttributeName: str}
@optional {AttributeValue: str}

@endpoint POST /
@required {TopicArn: str, Protocol: str}
@optional {Endpoint: str, Attributes: map<str,str>, ReturnSubscriptionArn: bool}
@returns(200) {SubscriptionArn: str?}

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

@endpoint POST /
@required {SubscriptionArn: str}

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

@endpoint POST /
@required {PhoneNumber: str, OneTimePassword: str}

@end
