---
updatedAt: 2025-11-12T01:08:06.000Z
agentTools:
  projectIndex: https://public.docs.kivera.io/llms.txt
---

# SNS

<Embed url="https://docs.aws.amazon.com/" title="AWS documentation" provider="docs.aws.amazon.com" href="https://docs.aws.amazon.com/" />

# AddPermission

```erlang
valid {
    input.Body.TopicArn == STRING
    input.Body.Label == STRING
    input.Body.AWSAccountId[_] == STRING
    input.Body.ActionName[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CheckIfPhoneNumberIsOptedOut

```erlang
valid {
    input.Body.phoneNumber == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ConfirmSubscription

```erlang
valid {
    input.Body.TopicArn == STRING
    input.Body.Token == STRING
    input.Body.AuthenticateOnUnsubscribe == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreatePlatformApplication

```erlang
valid {
    input.Body.Name == STRING
    input.Body.Platform == STRING
    input.Body.Attributes.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreatePlatformEndpoint

```erlang
valid {
    input.Body.PlatformApplicationArn == STRING
    input.Body.Token == STRING
    input.Body.CustomUserData == STRING
    input.Body.Attributes.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateSMSSandboxPhoneNumber

```erlang
enum_LanguageCodeString := [ "en-US", "en-GB", "es-419", "es-ES", "de-DE", "fr-CA", "fr-FR", "it-IT", "ja-JP", "pt-BR", "kr-KR", "zh-CN", "zh-TW" ]

valid {
    input.Body.PhoneNumber == STRING
    input.Body.LanguageCode == enum_LanguageCodeString[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateTopic

```erlang
valid {
    input.Body.Name == STRING
    input.Body.Attributes.STRING == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.DataProtectionPolicy == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteEndpoint

```erlang
valid {
    input.Body.EndpointArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeletePlatformApplication

```erlang
valid {
    input.Body.PlatformApplicationArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteSMSSandboxPhoneNumber

```erlang
valid {
    input.Body.PhoneNumber == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteTopic

```erlang
valid {
    input.Body.TopicArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetDataProtectionPolicy

```erlang
valid {
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetEndpointAttributes

```erlang
valid {
    input.Body.EndpointArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetPlatformApplicationAttributes

```erlang
valid {
    input.Body.PlatformApplicationArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetSMSAttributes

```erlang
valid {
    input.Body.attributes[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetSMSSandboxAccountStatus

```erlang
valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetSubscriptionAttributes

```erlang
valid {
    input.Body.SubscriptionArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetTopicAttributes

```erlang
valid {
    input.Body.TopicArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListEndpointsByPlatformApplication

```erlang
valid {
    input.Body.PlatformApplicationArn == STRING
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListOriginationNumbers

```erlang
valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListPhoneNumbersOptedOut

```erlang
valid {
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListPlatformApplications

```erlang
valid {
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListSMSSandboxPhoneNumbers

```erlang
valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListSubscriptions

```erlang
valid {
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListSubscriptionsByTopic

```erlang
valid {
    input.Body.TopicArn == STRING
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListTagsForResource

```erlang
valid {
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListTopics

```erlang
valid {
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# OptInPhoneNumber

```erlang
valid {
    input.Body.phoneNumber == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# Publish

```erlang
valid {
    input.Body.TopicArn == STRING
    input.Body.TargetArn == STRING
    input.Body.PhoneNumber == STRING
    input.Body.Message == STRING
    input.Body.Subject == STRING
    input.Body.MessageStructure == STRING
    input.Body.MessageAttributes.STRING.DataType == STRING
    input.Body.MessageAttributes.STRING.StringValue == STRING
    input.Body.MessageAttributes.STRING.BinaryValue == BLOB
    input.Body.MessageDeduplicationId == STRING
    input.Body.MessageGroupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PublishBatch

```erlang
valid {
    input.Body.TopicArn == STRING
    input.Body.PublishBatchRequestEntries[_].Id == STRING
    input.Body.PublishBatchRequestEntries[_].Message == STRING
    input.Body.PublishBatchRequestEntries[_].Subject == STRING
    input.Body.PublishBatchRequestEntries[_].MessageStructure == STRING
    input.Body.PublishBatchRequestEntries[_].MessageAttributes.STRING.DataType == STRING
    input.Body.PublishBatchRequestEntries[_].MessageAttributes.STRING.StringValue == STRING
    input.Body.PublishBatchRequestEntries[_].MessageAttributes.STRING.BinaryValue == BLOB
    input.Body.PublishBatchRequestEntries[_].MessageDeduplicationId == STRING
    input.Body.PublishBatchRequestEntries[_].MessageGroupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutDataProtectionPolicy

```erlang
valid {
    input.Body.ResourceArn == STRING
    input.Body.DataProtectionPolicy == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# RemovePermission

```erlang
valid {
    input.Body.TopicArn == STRING
    input.Body.Label == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# SetEndpointAttributes

```erlang
valid {
    input.Body.EndpointArn == STRING
    input.Body.Attributes.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# SetPlatformApplicationAttributes

```erlang
valid {
    input.Body.PlatformApplicationArn == STRING
    input.Body.Attributes.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# SetSMSAttributes

```erlang
valid {
    input.Body.attributes.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# SetSubscriptionAttributes

```erlang
valid {
    input.Body.SubscriptionArn == STRING
    input.Body.AttributeName == STRING
    input.Body.AttributeValue == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# SetTopicAttributes

```erlang
valid {
    input.Body.TopicArn == STRING
    input.Body.AttributeName == STRING
    input.Body.AttributeValue == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# Subscribe

```erlang
valid {
    input.Body.TopicArn == STRING
    input.Body.Protocol == STRING
    input.Body.Endpoint == STRING
    input.Body.Attributes.STRING == STRING
    input.Body.ReturnSubscriptionArn == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# TagResource

```erlang
valid {
    input.Body.ResourceArn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# Unsubscribe

```erlang
valid {
    input.Body.SubscriptionArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UntagResource

```erlang
valid {
    input.Body.ResourceArn == STRING
    input.Body.TagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# VerifySMSSandboxPhoneNumber

```erlang
valid {
    input.Body.PhoneNumber == STRING
    input.Body.OneTimePassword == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```