SMS Commands
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.
npx @wraps.dev/cli sms init [options]-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, --yesSkip 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
- Phone number (simulator, toll-free, or 10DLC based on selection)
- Configuration set with event tracking
- Opt-out list for compliance
- SNS topic + SQS queue for event processing
- Lambda function for event processing (if event tracking enabled)
- DynamoDB table for message history (if enabled)
- IAM role for your application
- Protect configuration for fraud protection
wraps sms status
Display the current status of your SMS infrastructure, including phone number, configuration, and enabled features.
npx @wraps.dev/cli sms status- Phone number and type
- Configuration preset and region
- Event tracking status
- Message history table (if enabled)
- IAM role ARN
wraps sms test
Send a test SMS message to verify your setup is working. Supports AWS simulator numbers for sandbox testing.
npx @wraps.dev/cli sms test [options]--to <phone>Destination phone number in E.164 format (e.g., +14155551234)
--message <text>Message content to send
Interactive mode (prompts for destination):
npx @wraps.dev/cli sms testSend to a specific number:
npx @wraps.dev/cli sms test --to +14155551234 --message "Hello from Wraps!"wraps sms verify-number
Verify a destination phone number for sandbox testing. Required before you can send to real numbers in sandbox mode.
npx @wraps.dev/cli sms verify-number [options]--phone-number <phone>Phone number to verify in E.164 format
--code <code>Verification code received via SMS
--resendResend verification code to a pending number
--listList all verified destination numbers
--deleteRemove a number from the verified list
Start verification for a number:
npx @wraps.dev/cli sms verify-number --phone-number +14155551234Complete verification with code:
npx @wraps.dev/cli sms verify-number --phone-number +14155551234 --code 123456List verified numbers:
npx @wraps.dev/cli sms verify-number --listwraps sms register
Start the toll-free registration process. Required before toll-free numbers can send messages at scale.
npx @wraps.dev/cli sms register [options]-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.
npx @wraps.dev/cli sms upgrade [options]-r, --region <region>AWS region where SMS is deployed
-y, --yesSkip 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.
npx @wraps.dev/cli sms sync [options]-r, --region <region>AWS region where SMS is deployed
-y, --yesSkip 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.
npx @wraps.dev/cli sms destroy [options]-f, --forceSkip confirmation prompt (use with caution)
--previewPreview 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.
import { Wraps } from '@wraps.dev/sms';const wraps = new Wraps();// Send a transactional SMSconst result = await wraps.sms.send({ to: '+14155551234', message: 'Your verification code is 123456',});if (result.success) { console.log('SMS sent:', result.data.messageId);}
