Search User Calls in Memory
curl --request POST \
--url https://api.bland.ai/v1/memory/{memory_id}/user/search \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"phone_number": "<string>",
"external_memory_key": "<string>"
}
'import requests
url = "https://api.bland.ai/v1/memory/{memory_id}/user/search"
payload = {
"phone_number": "<string>",
"external_memory_key": "<string>"
}
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({phone_number: '<string>', external_memory_key: '<string>'})
};
fetch('https://api.bland.ai/v1/memory/{memory_id}/user/search', 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.bland.ai/v1/memory/{memory_id}/user/search",
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([
'phone_number' => '<string>',
'external_memory_key' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$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.bland.ai/v1/memory/{memory_id}/user/search"
payload := strings.NewReader("{\n \"phone_number\": \"<string>\",\n \"external_memory_key\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v1/memory/{memory_id}/user/search")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"phone_number\": \"<string>\",\n \"external_memory_key\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/memory/{memory_id}/user/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone_number\": \"<string>\",\n \"external_memory_key\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"c_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeffffgggg",
"created_at": "2025-07-22T05:19:37.314Z",
"summary": "The call appears to be a follow-up conversation about the user's startup, asking questions about AI and the future of their business.",
"answered_by": "human",
"call_length": 0.3,
"inbound": false
}
],
"errors": null
}
{
"data": null,
"errors": [
{
"error": "INVALID_REQUEST",
"message": "Phone number is required in request body."
}
]
}
{
"data": null,
"errors": [
{
"error": "MEMORY_NOT_FOUND",
"message": "Memory not found or you don't have access to it."
}
]
}
{
"data": null,
"errors": [
{
"error": "MEMORY_ERROR",
"message": "Failed to retrieve memory user data."
}
]
}
User Management
Search User Calls in Memory
Retrieve call history and data for a specific user/phone number within a memory.
POST
/
v1
/
memory
/
{memory_id}
/
user
/
search
Search User Calls in Memory
curl --request POST \
--url https://api.bland.ai/v1/memory/{memory_id}/user/search \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"phone_number": "<string>",
"external_memory_key": "<string>"
}
'import requests
url = "https://api.bland.ai/v1/memory/{memory_id}/user/search"
payload = {
"phone_number": "<string>",
"external_memory_key": "<string>"
}
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({phone_number: '<string>', external_memory_key: '<string>'})
};
fetch('https://api.bland.ai/v1/memory/{memory_id}/user/search', 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.bland.ai/v1/memory/{memory_id}/user/search",
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([
'phone_number' => '<string>',
'external_memory_key' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$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.bland.ai/v1/memory/{memory_id}/user/search"
payload := strings.NewReader("{\n \"phone_number\": \"<string>\",\n \"external_memory_key\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v1/memory/{memory_id}/user/search")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"phone_number\": \"<string>\",\n \"external_memory_key\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/memory/{memory_id}/user/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone_number\": \"<string>\",\n \"external_memory_key\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"c_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeffffgggg",
"created_at": "2025-07-22T05:19:37.314Z",
"summary": "The call appears to be a follow-up conversation about the user's startup, asking questions about AI and the future of their business.",
"answered_by": "human",
"call_length": 0.3,
"inbound": false
}
],
"errors": null
}
{
"data": null,
"errors": [
{
"error": "INVALID_REQUEST",
"message": "Phone number is required in request body."
}
]
}
{
"data": null,
"errors": [
{
"error": "MEMORY_NOT_FOUND",
"message": "Memory not found or you don't have access to it."
}
]
}
{
"data": null,
"errors": [
{
"error": "MEMORY_ERROR",
"message": "Failed to retrieve memory user data."
}
]
}
Headers
Your API key for authentication.
Path Parameters
The unique identifier of the memory to search within.
Body Parameters
The phone number of the user to search for calls.
Optional external key for additional memory validation or cross-referencing.
Response
Array of call objects for this user within the memory.
Unique identifier for the call.
ISO timestamp when the call was made.
AI-generated summary of this specific call.
Who answered the call (e.g., “human”, “ai”).
Call duration in minutes.
Whether this was an inbound call (true) or outbound call (false).
Error array (null on success).
{
"data": [
{
"c_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeffffgggg",
"created_at": "2025-07-22T05:19:37.314Z",
"summary": "The call appears to be a follow-up conversation about the user's startup, asking questions about AI and the future of their business.",
"answered_by": "human",
"call_length": 0.3,
"inbound": false
}
],
"errors": null
}
{
"data": null,
"errors": [
{
"error": "INVALID_REQUEST",
"message": "Phone number is required in request body."
}
]
}
{
"data": null,
"errors": [
{
"error": "MEMORY_NOT_FOUND",
"message": "Memory not found or you don't have access to it."
}
]
}
{
"data": null,
"errors": [
{
"error": "MEMORY_ERROR",
"message": "Failed to retrieve memory user data."
}
]
}
Docs for agents: llms.txt
Was this page helpful?
⌘I