curl --request POST \
--url https://api.amplemarket.com/calls \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"from": "<string>",
"to": "<string>",
"duration": 123,
"answered": true,
"human": true,
"task_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"transcription": "<string>",
"recording_url": "<string>",
"disposition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.amplemarket.com/calls"
payload = {
"from": "<string>",
"to": "<string>",
"duration": 123,
"answered": True,
"human": True,
"task_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"transcription": "<string>",
"recording_url": "<string>",
"disposition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
from: '<string>',
to: '<string>',
duration: 123,
answered: true,
human: true,
task_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
user_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
transcription: '<string>',
recording_url: '<string>',
disposition_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.amplemarket.com/calls', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.amplemarket.com/calls",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'from' => '<string>',
'to' => '<string>',
'duration' => 123,
'answered' => true,
'human' => true,
'task_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'user_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'transcription' => '<string>',
'recording_url' => '<string>',
'disposition_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.amplemarket.com/calls"
payload := strings.NewReader("{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"duration\": 123,\n \"answered\": true,\n \"human\": true,\n \"task_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"user_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"transcription\": \"<string>\",\n \"recording_url\": \"<string>\",\n \"disposition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.amplemarket.com/calls")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"duration\": 123,\n \"answered\": true,\n \"human\": true,\n \"task_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"user_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"transcription\": \"<string>\",\n \"recording_url\": \"<string>\",\n \"disposition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.amplemarket.com/calls")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"duration\": 123,\n \"answered\": true,\n \"human\": true,\n \"task_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"user_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"transcription\": \"<string>\",\n \"recording_url\": \"<string>\",\n \"disposition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"id": "01a035ff-5d20-7585-b258-4844ce636640",
"disposition_id": "01a035ff-5ae4-715e-8e78-300b03408eec",
"duration": 5,
"external": true,
"start_date": "2026-08-24T22:58:43Z",
"from": "+1 123456789",
"to": "+1 123456789",
"notes": null,
"transcription": null,
"recording_url": "https://recordings.example.com/abc123.mp3",
"task_id": "01a035ff-5cc1-7563-9155-a9ef8b05f477",
"user_id": "01a035ff-5c66-7cc4-b9a2-22454a942f27",
"human": false,
"answered": true,
"contact": null
}Log call
Log call
curl --request POST \
--url https://api.amplemarket.com/calls \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"from": "<string>",
"to": "<string>",
"duration": 123,
"answered": true,
"human": true,
"task_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"transcription": "<string>",
"recording_url": "<string>",
"disposition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.amplemarket.com/calls"
payload = {
"from": "<string>",
"to": "<string>",
"duration": 123,
"answered": True,
"human": True,
"task_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"transcription": "<string>",
"recording_url": "<string>",
"disposition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
from: '<string>',
to: '<string>',
duration: 123,
answered: true,
human: true,
task_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
user_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
transcription: '<string>',
recording_url: '<string>',
disposition_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.amplemarket.com/calls', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.amplemarket.com/calls",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'from' => '<string>',
'to' => '<string>',
'duration' => 123,
'answered' => true,
'human' => true,
'task_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'user_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'transcription' => '<string>',
'recording_url' => '<string>',
'disposition_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.amplemarket.com/calls"
payload := strings.NewReader("{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"duration\": 123,\n \"answered\": true,\n \"human\": true,\n \"task_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"user_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"transcription\": \"<string>\",\n \"recording_url\": \"<string>\",\n \"disposition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.amplemarket.com/calls")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"duration\": 123,\n \"answered\": true,\n \"human\": true,\n \"task_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"user_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"transcription\": \"<string>\",\n \"recording_url\": \"<string>\",\n \"disposition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.amplemarket.com/calls")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"duration\": 123,\n \"answered\": true,\n \"human\": true,\n \"task_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"user_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"transcription\": \"<string>\",\n \"recording_url\": \"<string>\",\n \"disposition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"id": "01a035ff-5d20-7585-b258-4844ce636640",
"disposition_id": "01a035ff-5ae4-715e-8e78-300b03408eec",
"duration": 5,
"external": true,
"start_date": "2026-08-24T22:58:43Z",
"from": "+1 123456789",
"to": "+1 123456789",
"notes": null,
"transcription": null,
"recording_url": "https://recordings.example.com/abc123.mp3",
"task_id": "01a035ff-5cc1-7563-9155-a9ef8b05f477",
"user_id": "01a035ff-5c66-7cc4-b9a2-22454a942f27",
"human": false,
"answered": true,
"contact": null
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The phone number that initiated the call
The phone number that received the call
The duration of the call in seconds
A boolean indicating whether the call was answered
A boolean indicating whether a human answered the call or if it was detected as a machine/voicemail
The text representation of the call's audio, if available
URL of the call recording. Amplemarket stores the URL and does not download the recording.
Call disposition ID. If the given disposition has its action set to "complete", the specified task will be marked as completed, along with the associated sequence lead.
Response
successful
URL of the call recording, as submitted when logging the call. Empty if no recording URL was submitted.
Show child attributes
Show child attributes
Was this page helpful?