Quickstart
Get started with the TechLadder API in under 5 minutes. By the end of this guide, you'll have scheduled your first batch call.
1. Create an Account
Visit the TechLadder Dashboard and create your account.
2. Generate an API Key
Once logged in, navigate to Settings → API Keys and generate a new API key. Your key will look like:
sk_bvTQr74V8Rk-bNM7mPOR2rwWQQrqs_m9...
caution
Store your API key securely. It will only be shown once. Never commit it to version control.
3. Set Up Your Environment
Export your API key as an environment variable:
export TECHLADDER_API_KEY="sk_your_api_key_here"
4. Make Your First API Call
Let's schedule a batch call to a single contact:
- cURL
- Python
- JavaScript
- Java
curl -X POST https://api.staging.techladder.ai/api/v1/public/call-batches \
-H "Authorization: Bearer $TECHLADDER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_name": "your-agent-id",
"version_name": "your-version-id",
"voice": "Tara",
"start_mode": "manual",
"schedule_date": "2026-05-15",
"schedule_time": "10:00",
"schedule_timezone": "Asia/Kolkata (IST, UTC+5:30)",
"contacts": [
{
"contact_id": "contact_001",
"name": "John Doe",
"phone_number": "919876543210",
"metadata": {
"Name": "John Doe",
"Company Name": "Acme Corp"
}
}
]
}'
import os
import requests
api_key = os.environ["TECHLADDER_API_KEY"]
response = requests.post(
"https://api.staging.techladder.ai/api/v1/public/call-batches",
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
},
json={
"agent_name": "your-agent-id",
"version_name": "your-version-id",
"voice": "Tara",
"start_mode": "manual",
"schedule_date": "2026-05-15",
"schedule_time": "10:00",
"schedule_timezone": "Asia/Kolkata (IST, UTC+5:30)",
"contacts": [
{
"contact_id": "contact_001",
"name": "John Doe",
"phone_number": "919876543210",
"metadata": {
"Name": "John Doe",
"Company Name": "Acme Corp",
},
}
],
},
)
print(response.json())
const apiKey = process.env.TECHLADDER_API_KEY;
const response = await fetch(
"https://api.staging.techladder.ai/api/v1/public/call-batches",
{
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
agent_name: "your-agent-id",
version_name: "your-version-id",
voice: "Tara",
start_mode: "manual",
schedule_date: "2026-05-15",
schedule_time: "10:00",
schedule_timezone: "Asia/Kolkata (IST, UTC+5:30)",
contacts: [
{
contact_id: "contact_001",
name: "John Doe",
phone_number: "919876543210",
metadata: {
Name: "John Doe",
"Company Name": "Acme Corp",
},
},
],
}),
}
);
const data = await response.json();
console.log(data);
import java.net.URI;
import java.net.http.*;
String apiKey = System.getenv("TECHLADDER_API_KEY");
String body = """
{
"agent_name": "your-agent-id",
"version_name": "your-version-id",
"voice": "Tara",
"start_mode": "manual",
"schedule_date": "2026-05-15",
"schedule_time": "10:00",
"schedule_timezone": "Asia/Kolkata (IST, UTC+5:30)",
"contacts": [{
"contact_id": "contact_001",
"name": "John Doe",
"phone_number": "919876543210",
"metadata": {"Name": "John Doe", "Company Name": "Acme Corp"}
}]
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.staging.techladder.ai/api/v1/public/call-batches"))
.header("Authorization", "Bearer " + apiKey)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
5. Check the Response
A successful response looks like:
{
"status_code": 201,
"message": "Call batch created successfully",
"error": null,
"data": {
"schedule_id": "sched_7bac6f2a",
"status": "pending",
"total_contacts": 1,
"created_at": "2026-05-14T10:00:00Z"
}
}
Next Steps
- Check batch status — Monitor your batch progress
- List batch calls — Look up call history by external ID
- Get batch results — Retrieve call outcomes
- Response format — Understand the API response structure