SMS CLI Commands | Wraps
CLI Reference / SMS
Deploy AWS End User Messaging SMS infrastructure for transactional and marketing messages.
Pricing: Free to use. You pay AWS directly for phone numbers ($1-2/mo) and per-message costs (~$0.0075/segment US). Registration fees apply for toll-free and 10DLC numbers.
wraps sms init
Deploy SMS infrastructure to your AWS account. Sets up phone numbers, configuration sets, event tracking, and IAM roles.
-p, --provider <provider>
Hosting provider: vercel, aws, railway, or other
-r, --region <region>
AWS region to deploy infrastructure (default: us-east-1)
--preset <preset>
Configuration preset: starter, production, or enterprise
-y, --yes
Skip confirmation prompts
- Simulator ($1/mo) - Testing only, 100 msg/day, no registration required
- Toll-free ($2/mo) - Production ready, 3 MPS, requires registration (~15 days)
- 10DLC ($2/mo + fees) - High volume, up to 75 MPS, requires brand + campaign registration
- Creates an IAM role for your application
- Provisions a phone number (simulator, toll-free, or 10DLC based on selection)
- Sets up an opt-out list for compliance
- Configures event tracking via SNS + SQS
- Deploys Lambda function for event processing (if event tracking enabled)
- Creates DynamoDB table for message history (if enabled)
- Configures fraud protection
wraps sms status
Display the current status of your SMS infrastructure, including phone number, configuration, and enabled features.
--json
Output status as JSON
- Phone numbers and type
- Opt-out list configuration
- Region and configuration preset
- Event tracking status
- All deployed resources
wraps sms test
Send a test SMS message to verify your setup is working. Supports AWS simulator numbers for sandbox testing.
--to <phone>
Destination phone number in E.164 format (e.g., +14155551234)
--message <text>
Message content to send
--json
Output result as JSON
- Sends a test SMS to the specified number
- Shows delivery status and segment count
- Supports AWS simulator numbers for sandbox testing
Interactive mode (prompts for destination):
Send to a specific number:
wraps sms verify-number
Verify a destination phone number for sandbox testing. In sandbox mode, numbers must be verified before they can receive test messages.
--phone-number <phone>
Phone number to verify in E.164 format
--code <code>
Verification code received via SMS
--resend
Resend verification code to a pending number
--list
List all verified destination numbers
--delete
Remove a number from the verified list
Start verification for a number:
Complete verification with code:
wraps sms register
Submit a toll-free verification request to AWS for production sending. Required before toll-free numbers can send messages at scale.
-r, --region <region>
AWS region where SMS is deployed
- Business name and address
- Use case description (what messages you're sending)
- Sample messages (2-3 examples)
- How users opt-in to receive messages
- Expected monthly message volume
Timeline: Registration typically takes 1-15 business days.
wraps sms upgrade
Enhance your SMS infrastructure with additional features or upgrade to a higher-tier phone number.
--preset <name>
Target preset: starter, production, or enterprise
-r, --region <region>
AWS region where SMS is deployed
-y, --yes
Skip confirmation prompts
- Upgrade phone number type (simulator → toll-free → 10DLC)
- Change configuration preset (starter → production → enterprise)
- Enable/disable event tracking
- Change message history retention period
- Enable/disable link click tracking
- Enable/disable message archiving
- Configure fraud protection (country allowlist, AIT filtering)
wraps sms sync
Synchronize your local configuration with deployed infrastructure. Useful after CLI updates or when resources need to be recreated.
-r, --region <region>
AWS region where SMS is deployed
-y, --yes
Skip confirmation prompts
- Updates Lambda function code with latest CLI version
- Recreates any missing SDK-managed resources (phone pool, event destination)
- Ensures fraud protection is configured
- Refreshes infrastructure state
wraps sms destroy
Remove all SMS infrastructure from your AWS account. This is a destructive operation.
-f, --force
Skip confirmation prompt (use with caution)
--preview
Preview what would be destroyed without making changes
- Phone number (released back to AWS pool)
- Configuration set and event destination
- SNS topic, SQS queue, and DLQ
- Lambda functions
- DynamoDB table (if event tracking was enabled)
- IAM role and policies
- Protect configuration
- Local metadata and Pulumi state
Programmatic Usage
After deploying infrastructure with the CLI, use the SDK to send SMS messages from your application.