Guides

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

  1. Complete KYC verification
  2. Select your phone number
  3. Connect Meta Business Portfolio
  4. Add billing details
  5. Generate API key
  6. 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

  1. Complete the Facebook/Meta login flow to grant necessary permissions to Sent
  2. Create a new profile if you don't have an existing Meta Business Portfolio
  3. 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

ParameterTypeFormatRequiredDescription
contactIdstringguidOptionalUnique identifier for the contact
templateIdstringguidOptionalMessage template identifier
messageBodyobject-OptionalTemplate variables and content
webhookUrlstring-OptionalURL 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:

Support

📚 API Documentation

View detailed documentation for all endpoints

View Docs →

🧪 Playground

Test integration and message sending

Open Playground →

💬 Customer Support

Contact our team for assistance

Get Help →

🎉 Congratulations! Your integration is now complete. Start sending messages and explore the full capabilities of the Sent platform.