Skip to content
Esc
↑↓navigate↵open⌘Jpreview

Get groups

Get the groups of messages that make up a topic, each with its messages oldest first. A topic archived in the v1 to v2 migration returns 404 with data.reason archived_in_v1_to_v2_migration.

GET/topics/{topicId}/groups
Authorization
AuthorizationBearer token · headerrequired

Organization API key (modem_…).

Path parameters
topicIdstring<uuid>required
Query parameters
orderstring
default: "desc"
Allowed:ascdesc
Responses
200

OK

dataobject[]required
Show properties
Array of object
groupobjectrequired
Show properties
archivedAtstring<date-time> | null

Timestamp when the group was archived.

Show properties
Any of:
string<date-time>
string<date-time>
null
null
endTimestampany

Timestamp for the end of the group time range.

idstring<uuid>required
Show properties
Any of:
string<uuid>
string<uuid>
string<uuid>
string<uuid>
similarityAtAssignmentnumber
startTimestampany

Timestamp for the start of the group time range.

titlestring | nullrequired

Human-readable title from the group AI metadata, when available.

Show properties
Any of:
string
string
null
null
messagesobject[]required
Show properties
Array of object
contentstringrequired

Full text content of the message.

createdAtstring<date-time>

Timestamp when the message was created.

deletedAtstring<date-time> | null

Timestamp when the message was deleted, if applicable.

Show properties
Any of:
string<date-time>
string<date-time>
null
null
editedAtstring<date-time> | null

Timestamp when the message was last edited.

Show properties
Any of:
string<date-time>
string<date-time>
null
null
idstring<uuid>required
Show properties
Any of:
string<uuid>
string<uuid>
string<uuid>
string<uuid>
isInternalbooleanrequired

Whether the message is an internal, team-only note withheld from the external/customer party (e.g. an internal agent note).

metadataobject | nullrequired

Additional metadata captured for the message.

Show properties
Any of:
object
object
null
null
replyToIdstring<uuid> | nullrequired

Internal message ID that this message replies to.

Show properties
Any of:
string<uuid>
string<uuid>
null
null
sourceMessageIdstringrequired

Identifier of the message in the source system.

sourceMessageTypestringrequired

Type/classification of the source message.

sourceNamestringrequired

Source system the message was ingested from.

matches ^[a-z0-9]+(?:-[a-z0-9]+)*$
sourceReplyToIdstring | nullrequired

Source system ID of the message being replied to.

Show properties
Any of:
string
string
null
null
sourceThreadIdstring | nullrequired

Thread identifier in the source system.

Show properties
Any of:
string
string
null
null
sourceUrlstring<uri> | nullrequired

URL linking to the original message when available.

Show properties
Any of:
string<uri>
string<uri>
null
null
threadIdstring<uuid> | nullrequired

Internal thread identifier when applicable.

Show properties
Any of:
string<uuid>
string<uuid>
null
null
titlestring | nullrequired

Optional title of the message.

Show properties
Any of:
string
string
null
null
authorobject | nullrequired
Show properties
Any of:
object
displayNamestring | nullrequired

Optional display name for the author.

Show properties
Any of:
string
string
null
null
idstring<uuid>required
Show properties
Any of:
string<uuid>
string<uuid>
string<uuid>
string<uuid>
isBotbooleanrequired

Whether the author is a bot account.

sourceAuthorIdstringrequired

Author identifier in the source system.

sourceAvatarUrlstring<uri> | nullrequired

Avatar image URL from the source system.

Show properties
Any of:
string<uri>
string<uri>
null
null
sourceNamestringrequired

Source system where the author originates.

matches ^[a-z0-9]+(?:-[a-z0-9]+)*$
null
null
channelobject | nullrequired
Show properties
Any of:
object
channelNamestringrequired
idstringrequired
serverNamestringrequired
null
null
quoteHighlightsobject[]
Show properties
Array of object
confidencenumberrequired
min 0 · max 1
contentstringrequired
reactionsobject[]required
Show properties
Array of object
countintegerrequired

Number of times this reaction was used.

identifierstringrequired

Normalized reaction identifier (e.g., "thumbsup", "heart").

messageIdstring<uuid>required

ID of the message this reaction belongs to.

Show properties
Any of:
string<uuid>
string<uuid>
string<uuid>
string<uuid>
unicodestring | nullrequired

Unicode representation of the emoji if applicable.

Show properties
Any of:
string
string
null
null
replyToobject | nullrequired
Show properties
Any of:
object
contentstringrequired

Full text content of the message.

createdAtstring<date-time>

Timestamp when the message was created.

deletedAtstring<date-time> | null

Timestamp when the message was deleted, if applicable.

Show properties
Any of:
string<date-time>
string<date-time>
null
null
editedAtstring<date-time> | null

Timestamp when the message was last edited.

Show properties
Any of:
string<date-time>
string<date-time>
null
null
idstring<uuid>required
Show properties
Any of:
string<uuid>
string<uuid>
string<uuid>
string<uuid>
isInternalbooleanrequired

Whether the message is an internal, team-only note withheld from the external/customer party (e.g. an internal agent note).

metadataobject | nullrequired

Additional metadata captured for the message.

Show properties
Any of:
object
object
null
null
replyToIdstring<uuid> | nullrequired

Internal message ID that this message replies to.

Show properties
Any of:
string<uuid>
string<uuid>
null
null
sourceMessageIdstringrequired

Identifier of the message in the source system.

sourceMessageTypestringrequired

Type/classification of the source message.

sourceNamestringrequired

Source system the message was ingested from.

matches ^[a-z0-9]+(?:-[a-z0-9]+)*$
sourceReplyToIdstring | nullrequired

Source system ID of the message being replied to.

Show properties
Any of:
string
string
null
null
sourceThreadIdstring | nullrequired

Thread identifier in the source system.

Show properties
Any of:
string
string
null
null
sourceUrlstring<uri> | nullrequired

URL linking to the original message when available.

Show properties
Any of:
string<uri>
string<uri>
null
null
threadIdstring<uuid> | nullrequired

Internal thread identifier when applicable.

Show properties
Any of:
string<uuid>
string<uuid>
null
null
titlestring | nullrequired

Optional title of the message.

Show properties
Any of:
string
string
null
null
authorobject | nullrequired
Show properties
Any of:
object
displayNamestring | nullrequired

Optional display name for the author.

Show properties
Any of:
string
string
null
null
idstring<uuid>required
Show properties
Any of:
string<uuid>
string<uuid>
string<uuid>
string<uuid>
isBotbooleanrequired

Whether the author is a bot account.

sourceAuthorIdstringrequired

Author identifier in the source system.

sourceAvatarUrlstring<uri> | nullrequired

Avatar image URL from the source system.

Show properties
Any of:
string<uri>
string<uri>
null
null
sourceNamestringrequired

Source system where the author originates.

matches ^[a-z0-9]+(?:-[a-z0-9]+)*$
null
null
null
null
threadobject | nullrequired
Show properties
Any of:
object
contentstringrequired

Full text content of the message.

createdAtstring<date-time>

Timestamp when the message was created.

deletedAtstring<date-time> | null

Timestamp when the message was deleted, if applicable.

Show properties
Any of:
string<date-time>
string<date-time>
null
null
editedAtstring<date-time> | null

Timestamp when the message was last edited.

Show properties
Any of:
string<date-time>
string<date-time>
null
null
idstring<uuid>required
Show properties
Any of:
string<uuid>
string<uuid>
string<uuid>
string<uuid>
isInternalbooleanrequired

Whether the message is an internal, team-only note withheld from the external/customer party (e.g. an internal agent note).

metadataobject | nullrequired

Additional metadata captured for the message.

Show properties
Any of:
object
object
null
null
replyToIdstring<uuid> | nullrequired

Internal message ID that this message replies to.

Show properties
Any of:
string<uuid>
string<uuid>
null
null
sourceMessageIdstringrequired

Identifier of the message in the source system.

sourceMessageTypestringrequired

Type/classification of the source message.

sourceNamestringrequired

Source system the message was ingested from.

matches ^[a-z0-9]+(?:-[a-z0-9]+)*$
sourceReplyToIdstring | nullrequired

Source system ID of the message being replied to.

Show properties
Any of:
string
string
null
null
sourceThreadIdstring | nullrequired

Thread identifier in the source system.

Show properties
Any of:
string
string
null
null
sourceUrlstring<uri> | nullrequired

URL linking to the original message when available.

Show properties
Any of:
string<uri>
string<uri>
null
null
threadIdstring<uuid> | nullrequired

Internal thread identifier when applicable.

Show properties
Any of:
string<uuid>
string<uuid>
null
null
titlestring | nullrequired

Optional title of the message.

Show properties
Any of:
string
string
null
null
authorobject | nullrequired
Show properties
Any of:
object
displayNamestring | nullrequired

Optional display name for the author.

Show properties
Any of:
string
string
null
null
idstring<uuid>required
Show properties
Any of:
string<uuid>
string<uuid>
string<uuid>
string<uuid>
isBotbooleanrequired

Whether the author is a bot account.

sourceAuthorIdstringrequired

Author identifier in the source system.

sourceAvatarUrlstring<uri> | nullrequired

Avatar image URL from the source system.

Show properties
Any of:
string<uri>
string<uri>
null
null
sourceNamestringrequired

Source system where the author originates.

matches ^[a-z0-9]+(?:-[a-z0-9]+)*$
null
null
null
null
400

Invalid request (validation failed).

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

401

Missing or invalid API key.

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

403

The API key does not have access to this resource.

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

404

The requested resource was not found.

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

429

Rate limit exceeded.

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

500

Internal server error.

codestringrequired

Machine-readable error code, e.g. NOT_FOUND.

dataany

Optional structured error details.

definedbooleanrequired

True if the error was declared in the procedure contract.

messagestringrequired

Human-readable error message.

statusintegerrequired

HTTP status code.

Try it
Server
Authorization
Parameters
Request
curl -X GET 'https://api.modem.dev/v1/topics/497f6eca-6276-4993-bfeb-53cbbbba6f08/groups' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json'
Response
{
  "data": [
    {
      "group": {
        "archivedAt": "2019-08-24T14:15:22Z",
        "endTimestamp": null,
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "similarityAtAssignment": 0,
        "startTimestamp": null,
        "title": "string"
      },
      "messages": [
        {
          "content": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "deletedAt": "2019-08-24T14:15:22Z",
          "editedAt": "2019-08-24T14:15:22Z",
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "isInternal": true,
          "metadata": {
            "property1": null,
            "property2": null
          },
          "replyToId": "019c0f01-e197-45eb-8a17-c9811c373be9",
          "sourceMessageId": "string",
          "sourceMessageType": "string",
          "sourceName": "string",
          "sourceReplyToId": "string",
          "sourceThreadId": "string",
          "sourceUrl": "http://example.com",
          "threadId": "51f72284-0555-48fe-a20a-4369ee94dc3e",
          "title": "string",
          "author": {
            "displayName": "string",
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "isBot": true,
            "sourceAuthorId": "string",
            "sourceAvatarUrl": "http://example.com",
            "sourceName": "string"
          },
          "channel": {
            "channelName": "string",
            "id": "string",
            "serverName": "string"
          },
          "quoteHighlights": [
            {
              "confidence": 0,
              "content": "string"
            }
          ],
          "reactions": [
            {
              "count": 1,
              "identifier": "string",
              "messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
              "unicode": "string"
            }
          ],
          "replyTo": {
            "content": "string",
            "createdAt": "2019-08-24T14:15:22Z",
            "deletedAt": "2019-08-24T14:15:22Z",
            "editedAt": "2019-08-24T14:15:22Z",
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "isInternal": true,
            "metadata": {
              "property1": null,
              "property2": null
            },
            "replyToId": "019c0f01-e197-45eb-8a17-c9811c373be9",
            "sourceMessageId": "string",
            "sourceMessageType": "string",
            "sourceName": "string",
            "sourceReplyToId": "string",
            "sourceThreadId": "string",
            "sourceUrl": "http://example.com",
            "threadId": "51f72284-0555-48fe-a20a-4369ee94dc3e",
            "title": "string",
            "author": {
              "displayName": "string",
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "isBot": true,
              "sourceAuthorId": "string",
              "sourceAvatarUrl": "http://example.com",
              "sourceName": "string"
            }
          },
          "thread": {
            "content": "string",
            "createdAt": "2019-08-24T14:15:22Z",
            "deletedAt": "2019-08-24T14:15:22Z",
            "editedAt": "2019-08-24T14:15:22Z",
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "isInternal": true,
            "metadata": {
              "property1": null,
              "property2": null
            },
            "replyToId": "019c0f01-e197-45eb-8a17-c9811c373be9",
            "sourceMessageId": "string",
            "sourceMessageType": "string",
            "sourceName": "string",
            "sourceReplyToId": "string",
            "sourceThreadId": "string",
            "sourceUrl": "http://example.com",
            "threadId": "51f72284-0555-48fe-a20a-4369ee94dc3e",
            "title": "string",
            "author": {
              "displayName": "string",
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "isBot": true,
              "sourceAuthorId": "string",
              "sourceAvatarUrl": "http://example.com",
              "sourceName": "string"
            }
          }
        }
      ]
    }
  ]
}

Was this page helpful?