Skip to contentSkip to navigationSkip to topbar

Bulk Upsert Profiles


(information)

Legal information

Conversation Memory, including the APIs, may use artificial intelligence or machine learning technologies and is subject to the terms of the Predictive and Generative AI/ML Features Addendum(link takes you to an external page). For more details on AI usage and data, see the AI Nutrition Facts.

Conversation Memory is not a HIPAA Eligible Service or PCI compliant and should not be enabled in workflows that are subject to HIPAA or PCI.

Conversation Memory is not intended for use with sensitive information about individuals. Twilio does not control what information comes from conversation channels and relies on you to ensure the data in customer profiles aligns with our acceptable use policy. Twilio does have limited guardrails in the form of a prompt exclusion that is designed to provide a minimal screening against inclusion of GDPR special category data(link takes you to an external page). As a reminder our profile technology uses generative artificial intelligence. Because generative artificial intelligence can make mistakes, review all outputs to ensure that the profile is correct.

Conversations products are only available in the new Twilio Console(link takes you to an external page). If your account hasn't been migrated, you'll be redirected to the legacy Console where these products won't appear.

PUT/v1/Stores/{storeId}/Profiles/Bulk

Base url: https://memory.twilio.com (base url)

Create or update up to 1000 profiles in a single asynchronous batch. Each profile body follows the same structure as single profile creation. If a profile already exists its traits are merged (new keys added, existing keys overwritten). Large batches may take time to process; the 202 response indicates the batch has been accepted. Monitor downstream telemetry or audit logs to confirm completion.


Request

update-profiles-bulk-request page anchor

Authentication

authentication page anchor
Property nameTypeRequiredPIIDescription
storeIdstring
required
Not PII

A unique Memory Store ID using Twilio Type ID (TTID) format

Example: mem_store_00000000000000000000000000Pattern: ^mem_(store|service)_[0-7][0-9a-z]{25}$
Encoding type:application/json
SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
profilesarray[object]

Optional

Min items: 1Max items: 1000

202400401403404429500503

Profiles batch accepted.

SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
messagestring

Optional

Example: Profile batch accepted for processing.Max length: 255
Bulk Upsert ProfilesLink to code sample: Bulk Upsert Profiles
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function updateProfilesBulk() {
11
const bulk = await client.memory.v1
12
.bulk("mem_store_00000000000000000000000000")
13
.update({
14
profiles: [
15
{
16
traits: {
17
Contact: {
18
phone: "+13175551234",
19
email: "Alyssa.Mock@example.com",
20
lastName: "Mock",
21
firstName: "Alyssa",
22
},
23
},
24
},
25
{
26
traits: {
27
Contact: {
28
phone: "+13175556789",
29
email: "John.Doe@example.com",
30
lastName: "Doe",
31
firstName: "John",
32
},
33
},
34
},
35
],
36
});
37
38
console.log(bulk.message);
39
}
40
41
updateProfilesBulk();

Response

Note about this response
1
{
2
"message": "Profile batch accepted for processing."
3
}