Start here
One working request before anything else
Create a sandbox project, generate a scoped key, send the public SMS sample, and confirm the response. Keep OTP flows on managed Verify so your application does not own code generation, storage, expiry, or retry controls.
First request flow
Account
Create and verify your developer account.
Sandbox
Create a project and generate a test key.
Request
Send the public SMS sample with placeholders replaced.
Response
Confirm status, message ID, and next actions.
Before you send the request
Move through the same account and project setup every team uses before it reaches production traffic.
- 1
Create account
complete
- 2
Verify email
complete
- 3
Create project
complete
- 4
Generate API key
complete
- 5
Send first message
in progress
Send your first SMS request
Use this request shape in the sandbox, API explorer, Postman collection, or an SDK. Replace the placeholders with your sandbox base URL and API key.
First request
POST /api/v1/sms/send
curl --request POST {BASE_URL}/api/v1/sms/send \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"to": "+251900000000",
"message": "Hello from AfriRoute",
"country": "ET",
"senderId": "AFRIROUTE"
}'Public contract
Integration path
Get API keys
Start in the AfriRoute console, create a sandbox project, and generate a scoped key for your team.
Send your first request
Use the same SMS request shape surfaced in the explorer, the API reference, and the code examples rail.
Use AfriRoute Verify for OTP
Start a challenge, check the submitted code, then create your app session after approval. AfriRoute handles delivery fallback and verification controls.
const verification = await afriroute.verify.start({
phone: "+251912345678",
channel: "sms",
fallbackChannel: "voice"
});
const result = await afriroute.verify.check({
verificationId: verification.verificationId,
code: "123456"
});
if (result.status === "approved") {
// Create your own app session here.
}Verify flow
Start
Create a verification challenge.
Deliver
Use SMS first with voice fallback when needed.
Check
Validate the user-submitted code.
Approve
Create your own app session after success.
After the first response
Pick the next tool for the job, then finish the remaining setup items when you are ready to move beyond the first request.
Branch into channels, trust flows, and builder tools
Use these links when you are ready to move from the first request into the broader AfriRoute platform.