Skip to contentSkip to navigationSkip to topbar

Memory API (v1) - Conversation Summaries endpoints


(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.

Overview

overview page anchor

Tag description

Endpoints


POST/v1/Stores/{storeId}/Profiles/{profileId}/ConversationSummaries

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

Create one or more conversation summaries associated with the specified profile. Supports both single summary creation and batch creation of up to 10 summaries. Supports request compression for large batch operations and response compression for the response. All summaries will be automatically indexed for semantic search capabilities. The content summary can be up to 4KB in length. Each summary will be created with a unique ID in Twilio Type ID (TTID) format.

Request

create-profile-conversation-summary-request page anchor

Headers

create-profile-conversation-summary-headers page anchor
Property nameTypeRequiredPIIDescription
accept-Encodingstring

Optional

Not PII

Compression algorithms supported by the client (e.g., gzip, deflate, br)

Example: gzip, deflate, brPattern: ^[a-zA-Z0-9, .-]*$Max length: 200

content-Encodingenum<string>

Optional

Compression algorithm used for the request body (e.g., gzip, deflate, br)

Example: gzipPossible values:
gzipdeflatebrcompress
Property nameTypeRequiredPIIDescription
storeIdstring
required

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

Example: mem_store_00000000000000000000000000Pattern: ^mem_(store|service)_[0-7][0-9a-z]{25}$

profileIdstring
required

The unique identifier for the profile using Twilio Type ID (TTID) format.

Example: mem_profile_00000000000000000000000000Pattern: ^mem_profile_[0-7][0-9a-z]{25}$
Encoding type:application/json
SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
summariesarray[object]
required

Array of summaries to create in a single batch operation.

Min items: 1Max items: 10
202308400401403404429500503

Conversation summary creation accepted and is being processed.

Schema
Property nameTypeRequiredPIIDescriptionChild properties
messagestring

Optional

Confirmation message for the operation.

Example: Summaries creation acceptedMin length: 1Max length: 255
Create Conversation SummariesLink to code sample: Create Conversation Summaries
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 createProfileConversationSummary() {
11
const conversationSummary = await client.memory.v1
12
.conversationSummaries(
13
"mem_store_00000000000000000000000000",
14
"mem_profile_00000000000000000000000000"
15
)
16
.create({
17
summaries: [
18
{
19
source: "conversations",
20
content: "content",
21
occurredAt: "2009-07-06T20:30:00Z",
22
conversationId: "conv_conversation_00000000000000000000000000",
23
},
24
],
25
});
26
27
console.log(conversationSummary.message);
28
}
29
30
createProfileConversationSummary();

Response

Note about this response
1
{
2
"message": "message"
3
}

GET/v1/Stores/{storeId}/Profiles/{profileId}/ConversationSummaries

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

Retrieve a paginated list of conversation summaries for a specific profile. Supports response compression for large datasets.

Property nameTypeRequiredPIIDescription
accept-Encodingstring

Optional

Compression algorithms supported by the client (e.g., gzip, deflate, br)

Example: gzip, deflate, brPattern: ^[a-zA-Z0-9, .-]*$Max length: 200
Property nameTypeRequiredPIIDescription
storeIdstring
required

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

Example: mem_store_00000000000000000000000000Pattern: ^mem_(store|service)_[0-7][0-9a-z]{25}$

profileIdstring
required

The unique identifier for the profile using Twilio Type ID (TTID) format.

Example: mem_profile_00000000000000000000000000Pattern: ^mem_profile_[0-7][0-9a-z]{25}$
Property nameTypeRequiredPIIDescription
pageSizeinteger

Optional

The maximum number of items to return per page, maximum of 1000.

Default: 50Minimum: 1Maximum: 1000

pageTokenstring

Optional

The token for the page of results to retrieve.

Max length: 500
200301400401403404429500503

A list of conversation summaries for the profile.

SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
summariesarray[object]

Optional

Max items: 50

metaobject

Optional

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 listProfileConversationSummaries() {
11
const conversationSummaries = await client.memory.v1
12
.conversationSummaries(
13
"mem_store_00000000000000000000000000",
14
"mem_profile_00000000000000000000000000"
15
)
16
.list({ limit: 20 });
17
18
conversationSummaries.forEach((c) => console.log(c.source));
19
}
20
21
listProfileConversationSummaries();

Response

Note about this response
1
{
2
"meta": {
3
"key": "key",
4
"pageSize": 50,
5
"nextToken": "nextToken",
6
"previousToken": "previousToken"
7
},
8
"summaries": [
9
{
10
"source": "conversations",
11
"content": "content",
12
"occurredAt": "2009-07-06T20:30:00Z",
13
"conversationId": "conv_conversation_00000000000000000000000000",
14
"id": "mem_summary_00000000000000000000000000",
15
"createdAt": "2009-07-06T20:30:00Z",
16
"updatedAt": "2009-07-06T20:30:00Z"
17
}
18
]
19
}

GET/v1/Stores/{storeId}/Profiles/{profileId}/ConversationSummaries/{summaryId}

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

Retrieve a specific conversation summary by its ID for the given profile.

Property nameTypeRequiredPIIDescription
storeIdstring
required

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

Example: mem_store_00000000000000000000000000Pattern: ^mem_(store|service)_[0-7][0-9a-z]{25}$

profileIdstring
required

The unique identifier for the profile using Twilio Type ID (TTID) format.

Example: mem_profile_00000000000000000000000000Pattern: ^mem_profile_[0-7][0-9a-z]{25}$

summaryIdstring
required

The summary ID.

Example: mem_summary_00000000000000000000000000Pattern: ^mem_summary_[0-7][0-9a-z]{25}$
200400401403404429500503

Conversation summary retrieved successfully.

SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
sourcestring

Optional

The source system that generated the summary. Allows letters, numbers, spaces, and URL-safe symbols. Excludes URL-unsafe characters like quotes, angle brackets, and control characters.

Example: conversationsPattern: ^[a-zA-Z0-9 _.-]+$Max length: 100

contentstring

Optional

The main content of the summary.

Example: Customer discussed billing concerns and was satisfied with the resolution provided during this conversation.Min length: 1Max length: 4096

occurredAtstring<date-time>

Optional

The timestamp when the summary was originally created.

Example: 2025-01-15T10:15:30Z

conversationIdstring

Optional

A unique identifier for the conversation using Twilio Type ID (TTID) format.

Example: conv_conversation_00000000000000000000000000Pattern: ^conv_conversation_[0-7][0-9a-z]{25}$

idstring

Optional

A unique identifier for the summary using Twilio Type ID (TTID) format.

Example: mem_summary_00000000000000000000000000Pattern: ^mem_summary_[0-7][0-9a-z]{25}$

createdAtstring<date-time>

Optional

The timestamp when the summary was created.

Example: 2025-01-15T10:30:45Z

updatedAtstring<date-time>

Optional

The timestamp when the summary was last updated.

Example: 2025-01-15T10:30:45Z
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 fetchProfileConversationSummary() {
11
const conversationSummary = await client.memory.v1
12
.conversationSummaries(
13
"mem_store_00000000000000000000000000",
14
"mem_profile_00000000000000000000000000",
15
"mem_summary_00000000000000000000000000"
16
)
17
.fetch();
18
19
console.log(conversationSummary.source);
20
}
21
22
fetchProfileConversationSummary();

Response

Note about this response
1
{
2
"id": "mem_summary_00000000000000000000000001",
3
"conversationId": "conv_conversation_00000000000000000000000000",
4
"content": "Customer discussed billing concerns and was satisfied with the resolution provided during this conversation.",
5
"source": "conversational_intelligence",
6
"occurredAt": "2025-01-15T14:30:00Z",
7
"createdAt": "2025-01-15T10:30:45Z",
8
"updatedAt": "2025-01-15T10:30:45Z"
9
}

PATCH/v1/Stores/{storeId}/Profiles/{profileId}/ConversationSummaries/{summaryId}

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

Partially update a specific conversation summary by its ID. Only provided fields will be updated. The updated timestamp will be automatically set. This allows for selective updates without needing to provide all fields.

Property nameTypeRequiredPIIDescription
storeIdstring
required

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

Example: mem_store_00000000000000000000000000Pattern: ^mem_(store|service)_[0-7][0-9a-z]{25}$

profileIdstring
required

The unique identifier for the profile using Twilio Type ID (TTID) format.

Example: mem_profile_00000000000000000000000000Pattern: ^mem_profile_[0-7][0-9a-z]{25}$

summaryIdstring
required

The summary ID.

Example: mem_summary_00000000000000000000000000Pattern: ^mem_summary_[0-7][0-9a-z]{25}$
Encoding type:application/json
SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
sourcestring

Optional

The source system that generated the summary. Allows letters, numbers, spaces, and URL-safe symbols. Excludes URL-unsafe characters like quotes, angle brackets, and control characters.

Example: conversationsPattern: ^[a-zA-Z0-9 _.-]+$Max length: 100

contentstring

Optional

The main content of the summary.

Example: Customer discussed billing concerns and was satisfied with the resolution provided during this conversation.Min length: 1Max length: 4096

occurredAtstring<date-time>

Optional

The timestamp when the summary was originally created. If not provided, defaults to the time the summary was received.

Example: 2025-01-15T10:15:30Z

conversationIdstring

Optional

A unique identifier for the conversation using Twilio Type ID (TTID) format.

Example: conv_conversation_00000000000000000000000000Pattern: ^conv_conversation_[0-7][0-9a-z]{25}$
202308400401403404429500503

Conversation summary update accepted and is being processed.

Schema
Property nameTypeRequiredPIIDescriptionChild properties
messagestring

Optional

Example: Conversation summary update acceptedMax length: 255
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 patchProfileConversationSummary() {
11
const conversationSummary = await client.memory.v1
12
.conversationSummaries(
13
"mem_store_00000000000000000000000000",
14
"mem_profile_00000000000000000000000000",
15
"mem_summary_00000000000000000000000000"
16
)
17
.patch({
18
source: "conversations",
19
});
20
21
console.log(conversationSummary.message);
22
}
23
24
patchProfileConversationSummary();

Response

Note about this response
1
{
2
"message": "message"
3
}

DELETE/v1/Stores/{storeId}/Profiles/{profileId}/ConversationSummaries/{summaryId}

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

Delete a specific conversation summary by its ID. This action is irreversible.

Property nameTypeRequiredPIIDescription
storeIdstring
required

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

Example: mem_store_00000000000000000000000000Pattern: ^mem_(store|service)_[0-7][0-9a-z]{25}$

profileIdstring
required

The unique identifier for the profile using Twilio Type ID (TTID) format.

Example: mem_profile_00000000000000000000000000Pattern: ^mem_profile_[0-7][0-9a-z]{25}$

summaryIdstring
required

The summary ID.

Example: mem_summary_00000000000000000000000000Pattern: ^mem_summary_[0-7][0-9a-z]{25}$
202308400401403404429500503

Conversation summary deletion accepted and is being processed.

Schema
Property nameTypeRequiredPIIDescriptionChild properties
messagestring

Optional

Example: Conversation summary deletion acceptedMax length: 255
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 deleteProfileConversationSummary() {
11
await client.memory.v1
12
.conversationSummaries(
13
"mem_store_00000000000000000000000000",
14
"mem_profile_00000000000000000000000000",
15
"mem_summary_00000000000000000000000000"
16
)
17
.remove();
18
}
19
20
deleteProfileConversationSummary();

Response

Note about this response
1
{
2
"message": "message"
3
}