Getting Started with Sent API
Welcome to Sent! This guide will walk you through setting up your account and sending your first message via our API. The entire setup process typically takes 15-30 minutes.
Quick Setup Overview
- Complete KYC verification
- Select your phone number
- Connect Meta Business Portfolio
- Add billing details
- Generate API key
- Send your first message
Prerequisites
Before you begin, ensure you have:
- ✅ A valid business entity for KYC verification
- ✅ Access to a Meta Business Portfolio (for WhatsApp integration)
- ✅ A payment method for billing setup
Complete KYC Verification
To comply with messaging regulations and ensure secure operations, you'll need to complete our Know Your Customer (KYC) process.
What you'll need to provide:
- 📄 Business information and documentation
- 👤 Contact person details for compliance submissions
Timeline:
- ⏱️ Wait time: A few hours for approval
- ⚡ Typical processing: Usually completed within 24 hours
- 🚀 Fast track: Sometimes approved in minutes
Once submitted, you'll receive an email notification when your KYC verification is complete.
Select Your Phone Number
Choose a primary phone number that will serve as your phone number for sending messages across all channels.
Key benefits:
- 🔗 Unified identity: Same phone number across SMS, WhatsApp, and other channels
- 🎯 Consistency: Recipients will recognize your number across platforms
- 📈 Scalability: Add additional phone numbers later as needed
Available numbers:
+15302386815
(California)+17653000048
(Indiana)
- Sent does not currently support international numbers and uses alphanumeric sender IDs when sending via SMS.
Select the number that best fits your geographic targeting or business needs. Sent will automatically enable SMS on this number and register it as your sending phone number on WhatsApp and other supported channels.
Connect Your Meta Business Portfolio
Integrate your WhatsApp Business account for enhanced delivery rates and reduced messaging costs.
Meta Login Flow
- Complete the Facebook/Meta login flow to grant necessary permissions to Sent
- Create a new profile if you don't have an existing Meta Business Portfolio
- Select or create a WhatsApp Business account from your portfolio
Required Permissions
Sent will request access to:
- Manage your WhatsApp accounts (1 WhatsApp Account selected)
- Manage and access conversations in WhatsApp (1 WhatsApp Account selected)
- Log events on your WhatsApp business account's behalf and send those events to Meta (1 WhatsApp Account selected)
WhatsApp Business Account Setup
- Existing account: Choose from your available WhatsApp Business accounts
- New account: Create a new WhatsApp Business account that will belong to your business portfolio
Payment Setup
Add payment details to your Meta Business account if you haven't already.
Note: Sent is integrating shared billing to enable all-in-one billing across platforms.
Add Billing Details
Set up your payment method and optionally add credits to your Sent account balance.
Setup options:
- 💳 Add a credit/debit card for automatic billing
- 💰 Pre-load credits to your account balance (optional)
- ⚙️ Configure billing preferences
Generate Your API Key
Create your API credentials to start sending messages programmatically.
Important Security Notes
- 🔒 Your API key is viewable only once - save it securely immediately after generation
- 🚨 Keep your API key secure - regenerate immediately if you suspect unauthorized use
Your API Credentials
Once generated, you'll receive:
x-sender-id: 45e55d66-5e43-4d7d-98b9-2f1093aa9e9c
x-api-key: e138ef6c-6e68-467d-af9f-b73faa4a337c
Send Your First Message
Test your integration by sending a message using either our API or the playground interface.
API Endpoint
Send message to contact
POST https://api.sent.dm/v1/messages/contact
Sends a message to a specific contact using a template. The message can be sent via SMS or WhatsApp depending on the contact's capabilities.
Headers
x-sender-id: YOUR_SENDER_ID
x-api-key: YOUR_API_KEY
Content-Type: application/json
Request Body
{
"contactId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"templateId": "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
"messageBody": {
"name": "John Doe",
"order_id": "12345"
},
"webhookUrl": "https://example.com/webhook/message-status"
}
Parameters
Parameter | Type | Format | Required | Description |
---|---|---|---|---|
contactId | string | guid | Optional | Unique identifier for the contact |
templateId | string | guid | Optional | Message template identifier |
messageBody | object | - | Optional | Template variables and content |
webhookUrl | string | - | Optional | URL to receive delivery status updates |
Example Implementation
curl -X POST "https://api.sent.dm/v1/messages/contact" \
-H "x-sender-id: YOUR_SENDER_ID" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contactId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"templateId": "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
"messageBody": {
"name": "John Doe",
"order_id": "12345"
},
"webhookUrl": "https://example.com/webhook/message-status"
}'
const response = await fetch('https://api.sent.dm/messages/contact', {
method: 'POST',
headers: {
'x-sender-id': 'YOUR_SENDER_ID',
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
contactId: '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
templateId: '7ba7b820-9dad-11d1-80b4-00c04fd430c8',
messageBody: {
name: 'John Doe',
order_id: '12345'
},
webhookUrl: 'https://example.com/webhook/message-status'
})
});
import requests
response = requests.post(
'https://api.sent.dm/v1/messages/contact',
headers={
'x-sender-id': 'YOUR_SENDER_ID',
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'contactId': '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
'templateId': '7ba7b820-9dad-11d1-80b4-00c04fd430c8',
'messageBody': {
'name': 'John Doe',
'order_id': '12345'
},
'webhookUrl': 'https://example.com/webhook/message-status'
}
)
Response Codes
Success
204: Message sent successfully
Common Errors
- 401: Unauthorized - check your API credentials
- 403: Forbidden - insufficient permissions
Testing Options
- API Integration: Use the endpoint directly in your application
- Playground: Test messages using our web-based interface
Next Steps
Once you've successfully sent your first message:
📝 Explore Templates
Create and manage message templates
🔔 Set Up Webhooks
Configure delivery status notifications
👥 Manage Contacts
Build and organize your contact lists
📊 Review Analytics
Monitor message performance and delivery rates
Support
🎉 Congratulations! Your integration is now complete. Start sending messages and explore the full capabilities of the Sent platform.