curl --request GET \
--url https://api.openmic.ai/v2/sms-logs/{sms_log_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.openmic.ai/v2/sms-logs/{sms_log_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.openmic.ai/v2/sms-logs/{sms_log_id}', 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.openmic.ai/v2/sms-logs/{sms_log_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.openmic.ai/v2/sms-logs/{sms_log_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.openmic.ai/v2/sms-logs/{sms_log_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openmic.ai/v2/sms-logs/{sms_log_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 62,
"direction": "outbound",
"from_number": "+16625658792",
"to_number": "+17189153182",
"session_id": null,
"created_at": "2026-07-10T10:00:00.000Z",
"status": "delivered",
"message": "Hello from OpenMic! Here is your appointment link: https://example.com/book",
"sent_at": "2026-07-10T10:00:01.000Z",
"delivered_at": "2026-07-10T10:00:03.000Z",
"failure_reason": null
}{
"error": "<string>",
"details": "<string>"
}{
"error": "<string>",
"details": "<string>"
}{
"success": true,
"message": "<string>",
"error": "<string>",
"retryAfter": 123
}{
"error": "<string>",
"details": "<string>"
}Get an SMS log
Returns a single SMS log entry enriched with message details fetched live from the SMS provider: message body, delivery status, sent/delivered timestamps, and failure reason. If provider details are unavailable, the entry is returned with status: "unknown" and null detail fields.
curl --request GET \
--url https://api.openmic.ai/v2/sms-logs/{sms_log_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.openmic.ai/v2/sms-logs/{sms_log_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.openmic.ai/v2/sms-logs/{sms_log_id}', 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.openmic.ai/v2/sms-logs/{sms_log_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.openmic.ai/v2/sms-logs/{sms_log_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.openmic.ai/v2/sms-logs/{sms_log_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openmic.ai/v2/sms-logs/{sms_log_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 62,
"direction": "outbound",
"from_number": "+16625658792",
"to_number": "+17189153182",
"session_id": null,
"created_at": "2026-07-10T10:00:00.000Z",
"status": "delivered",
"message": "Hello from OpenMic! Here is your appointment link: https://example.com/book",
"sent_at": "2026-07-10T10:00:01.000Z",
"delivered_at": "2026-07-10T10:00:03.000Z",
"failure_reason": null
}{
"error": "<string>",
"details": "<string>"
}{
"error": "<string>",
"details": "<string>"
}{
"success": true,
"message": "<string>",
"error": "<string>",
"retryAfter": 123
}{
"error": "<string>",
"details": "<string>"
}Authorizations
Secret API key (omic_...) obtained from the OpenMic dashboard. The public key (omic_pub_...) is only accepted by /whoami, /create-web-call, and the agent test-call endpoints; every other endpoint rejects it with 403 This endpoint requires a private API key.
Path Parameters
SMS log entry ID from the list endpoint.
Response
SMS log entry with message details.
Unique SMS log entry identifier.
42
Message direction relative to your organization.
inbound, outbound The phone number the message was sent to.
"+17189153182"
When the message was logged.
Delivery status reported by the SMS provider. unknown when provider details are unavailable.
delivered, failed, sent, queued, unknown The phone number the message was sent from.
"+16625658792"
ID of the linked session when the message was part of an SMS conversation.
The message body, fetched from the SMS provider.
"Hello from OpenMic!"
When the message was sent by the provider.
When the message was delivered.
Reason the message failed, if delivery failed.
Was this page helpful?