Unlink conversations from a case

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.usehearsay.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "integrations MCP server": {
    "url": "https://docs.usehearsay.com/mcp"
  }
}

Close
PATCH /case/{caseId}/unlink-conversations

Removes the given device conversations from the case and returns the updated case.

Headers

  • organization string Required

    id of the selected (active) organization

Path parameters

  • caseId string Required

    Id of the case

application/json

Body Required

  • conversations array[array] Required

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • case object Required
        Hide case attributes Show case attributes object
        • createdAt string(date-time) Required
        • updatedAt string(date-time) Required
        • id string Required
        • name string Required
        • slug string Required
        • description string | null Required
        • matterId string | null
        • status string Required

          Values are open, closed, archived, or pending.

        • assignStatus string Required

          Values are assigned or unassigned.

        • createdBy object Required

          The full record on routes that load it; null (or an empty list) on routes that do not.

          Hide createdBy attributes Show createdBy attributes object
          • createdAt string(date-time) Required
          • updatedAt string(date-time) Required
          • id string Required
          • name string Required
          • email string Required
          • phone array[string] Required
          • isActive boolean Required
          • isEmailVerified boolean Required
          • lastActive string(date-time) Required
          • roles array[string] Required
          • avatar object Required

            The full record on routes that load it; null (or an empty list) on routes that do not.

            Hide avatar attributes Show avatar attributes object
            • createdAt string(date-time) Required
            • updatedAt string(date-time) Required
            • id string Required
            • name string Required
            • providerId string Required
            • convertedName string | null Required
            • convertedProviderId string Required
            • provider string Required
            • size number Required

              Size in bytes

            • transferState number | null Required
          • onboardingStatus string | null Required
          • userType string | null Required
          • firstName string Required
          • lastName string Required
          • initials string Required
          • userOrganizations array[object]

            Only filled on the signed-in user's own profile; absent or empty on a user nested in another record.

        • assignedTo array[string] Required

          Assigned user ids

        • organization object Required

          The full record on routes that load it; null (or an empty list) on routes that do not.

          Hide organization attributes Show organization attributes object
          • createdAt string(date-time) Required
          • updatedAt string(date-time) Required
          • id string Required
          • name string Required
          • slug string Required
          • email string Required
          • contact string Required
          • city string Required
          • state string Required
          • country string Required
          • description string Required
          • phone array[string] Required
          • isActive boolean Required
          • isPriority boolean
          • activePlan object Required

            The full record on routes that load it; null (or an empty list) on routes that do not.

            Hide activePlan attributes Show activePlan attributes object
            • createdAt string(date-time) Required
            • updatedAt string(date-time) Required
            • id string Required
            • subscription object | null Required

              Not loaded on public routes, so always null there. Only the internal admin organization report loads it.

            • relatedSubscription array[object] | null Required

              Not loaded by any route, so always null or an empty list.

            • organization object | null Required

              Not loaded by any route, so always null.

            • seats number Required
            • seatsUsed number Required
            • devices number Required
            • deviceUsed number Required
            • storage number Required

              Storage in bytes

            • storageUsed number Required

              Storage used in bytes

            • payments array[object] | null Required

              Not loaded by any route, so always null or an empty list.

            • type string Required

              Values are admin, free, limited-access, trial, tier1, tier2, tier3, tier4, tier5, tier6, or tier7.

            • isActive boolean Required
            • isBetweenPlanChanges boolean Required
            • storageInKb number Required
            • storageUsedInKb number Required
            • storageInMb number Required
            • storageUsedInMb number Required
            • storageInGb number Required
            • storageUsedInGb number Required
            • storageInTb number Required
            • storageUsedInTb number Required
            • isFreePlan boolean Required
            • remainingSeats number Required
            • remainingDevices number Required
            • remainingStorage number Required

              Storage left in bytes (storage minus storageUsed).

          • metadata object Required
          • type string Required
          • version string Required

            Values are v1, v2, eu, or ca.

        • isActive boolean Required
        • tags array[object] | null Required

          The full record on routes that load it; null (or an empty list) on routes that do not.

          Hide tags attributes Show tags attributes object
          • createdAt string(date-time) Required
          • updatedAt string(date-time) Required
          • id string Required
          • name string Required
          • nameLowercase string Required
          • backgroundColor string Required
          • textColor string Required
          • type string Required

            Values are system, organization, case, or user.

          • severity string Required

            Values are info, warning, or danger.

          • origin string Required

            Values are manual or auto-import.

          • creatorAccessType string | null

            Values are org or opposing_council.

          • isActive boolean Required
        • priority string Required

          Values are low, medium, high, or urgent.

        • attachedDevices array[string] Required

          Attached device ids

        • integrations array[object] | null Required

          The full record on routes that load it; null (or an empty list) on routes that do not.

          Hide integrations attributes Show integrations attributes object
          • createdAt string(date-time) Required
          • updatedAt string(date-time) Required
          • id string Required
          • integrationType string Required

            Values are goodfact, clio, or smokeball.

          • attachedAt string(date-time) Required
          • remoteCaseId string Required
          • remoteCaseName string Required
        • totalConversations number Required
        • archivedBy object | null Required

          Not loaded by any route, so always null.

        • exportJobId string | null Required
        • metadata object Required
        • extractionCodePaymentThreadId string | null Required
        • attachedTags array[object]
          Hide attachedTags attributes Show attachedTags attributes object
          • tagId string Required

            Tag id (Tag._id)

          • tag string Required

            Tag display name (Tag.name)

          • addedBy string Required

            Values are user, ai, auto, auto-import, system, or default.

          • addedById string | null
          • removedAt string(date-time) | null
          • removedBy string | null

            Values are user, ai, auto, auto-import, system, or default.

          • removedById string | null
        • ocCase boolean Required
        • isOcShared boolean Required
        • proEnabled boolean Required
        • isArchived boolean Required
      • usersWithAccess array[object] Required
        Hide usersWithAccess attributes Show usersWithAccess attributes object
        • createdAt string(date-time) Required
        • updatedAt string(date-time) Required
        • id string Required
        • user object Required

          The full record on routes that load it; null (or an empty list) on routes that do not.

          Hide user attributes Show user attributes object
          • createdAt string(date-time) Required
          • updatedAt string(date-time) Required
          • id string Required
          • name string Required
          • email string Required
          • phone array[string] Required
          • isActive boolean Required
          • isEmailVerified boolean Required
          • lastActive string(date-time) Required
          • roles array[string] Required
          • avatar object Required

            The full record on routes that load it; null (or an empty list) on routes that do not.

            Hide avatar attributes Show avatar attributes object
            • createdAt string(date-time) Required
            • updatedAt string(date-time) Required
            • id string Required
            • name string Required
            • providerId string Required
            • convertedName string | null Required
            • convertedProviderId string Required
            • provider string Required
            • size number Required

              Size in bytes

            • transferState number | null Required
          • onboardingStatus string | null Required
          • userType string | null Required
          • firstName string Required
          • lastName string Required
          • initials string Required
          • userOrganizations array[object]

            Only filled on the signed-in user's own profile; absent or empty on a user nested in another record.

        • status string Required
        • level string Required
        • lastAccessedAt string(date-time) Required
      • usersWithPendingAccess array[object] | null Required
        Hide usersWithPendingAccess attributes Show usersWithPendingAccess attributes object
        • createdAt string(date-time) Required
        • updatedAt string(date-time) Required
        • id string Required
        • invitedUserEmail string Required
        • invitedUserName string Required
        • invitedBy object Required

          The full record on routes that load it; null (or an empty list) on routes that do not.

          Hide invitedBy attributes Show invitedBy attributes object
          • createdAt string(date-time) Required
          • updatedAt string(date-time) Required
          • id string Required
          • name string Required
          • email string Required
          • phone array[string] Required
          • isActive boolean Required
          • isEmailVerified boolean Required
          • lastActive string(date-time) Required
          • roles array[string] Required
          • avatar object Required

            The full record on routes that load it; null (or an empty list) on routes that do not.

            Hide avatar attributes Show avatar attributes object
            • createdAt string(date-time) Required
            • updatedAt string(date-time) Required
            • id string Required
            • name string Required
            • providerId string Required
            • convertedName string | null Required
            • convertedProviderId string Required
            • provider string Required
            • size number Required

              Size in bytes

            • transferState number | null Required
          • onboardingStatus string | null Required
          • userType string | null Required
          • firstName string Required
          • lastName string Required
          • initials string Required
          • userOrganizations array[object]

            Only filled on the signed-in user's own profile; absent or empty on a user nested in another record.

        • organization object | null Required

          Not loaded by any route, so always null.

        • case object | null Required

          Not loaded by any route, so always null.

        • invitedUserRole string Required
        • status string Required
        • emailSent boolean Required
        • emailSentAt string(date-time) | null Required
        • acceptedAt string(date-time) | null Required
        • acceptedBy object | null Required

          Not loaded by any route, so always null.

        • invitedUser object Required

          The full record on routes that load it; null (or an empty list) on routes that do not.

          Hide invitedUser attributes Show invitedUser attributes object
          • createdAt string(date-time) Required
          • updatedAt string(date-time) Required
          • id string Required
          • name string Required
          • email string Required
          • phone array[string] Required
          • isActive boolean Required
          • isEmailVerified boolean Required
          • lastActive string(date-time) Required
          • roles array[string] Required
          • avatar object Required

            The full record on routes that load it; null (or an empty list) on routes that do not.

            Hide avatar attributes Show avatar attributes object
            • createdAt string(date-time) Required
            • updatedAt string(date-time) Required
            • id string Required
            • name string Required
            • providerId string Required
            • convertedName string | null Required
            • convertedProviderId string Required
            • provider string Required
            • size number Required

              Size in bytes

            • transferState number | null Required
          • onboardingStatus string | null Required
          • userType string | null Required
          • firstName string Required
          • lastName string Required
          • initials string Required
          • userOrganizations array[object]

            Only filled on the signed-in user's own profile; absent or empty on a user nested in another record.

        • rejectedAt string(date-time) | null Required
        • rejectedReason string | null Required
        • initials string Required
      • conversationsCount number Required
      • extractionCodes array[object] | null Required
        Hide extractionCodes attributes Show extractionCodes attributes object
        • createdAt string(date-time) Required
        • updatedAt string(date-time) Required
        • id string Required
        • code string Required
        • email string Required
        • name string | null Required
        • phone string | null Required
        • isActive boolean Required
        • label string | null Required
        • config object Required
          Hide config attributes Show config attributes object
          • type string Required

            Values are allow_client, share_all, or auto_share. Default value is allow_client.

          • origin string | null Required
          • ignoreMediaPermissionAndroid boolean
          • dateRange object
            Hide dateRange attributes Show dateRange attributes object
            • start string(date-time) | null Required
            • end string(date-time) | null Required
          • appConfig object
            Hide appConfig attributes Show appConfig attributes object
            • conversionConcurrency array[object] Required
              Hide conversionConcurrency attributes Show conversionConcurrency attributes object
              • mediaType string Required

                Values are images, video, audio, or documents.

              • concurrency array[number] Required
            • compressionConcurrency array[object] Required
              Hide compressionConcurrency attributes Show compressionConcurrency attributes object
              • mediaType string Required

                Values are images, video, audio, or documents.

              • concurrency array[number] Required
            • enableLocalMediaConversion boolean
            • enableLocalMediaCompression boolean
            • enableIosEncryptedBackupExtraction boolean
            • allowOnlyEncryptedIosBackup boolean
            • autoIncludeSafariData boolean
            • autoIncludeNotesData boolean
            • autoIncludeContacts boolean

              Default value is false.

            • shareAction string

              Values are share, export, or share_and_export. Default value is share.

          • enableLocalExport object
            Hide enableLocalExport attributes Show enableLocalExport attributes object
            • formats array[string]
            • defaultConfig object
              Hide defaultConfig attributes Show defaultConfig attributes object
              • chunkType string Required

                Values are year, month, week, day, or none.

              • includeAttachments boolean Required
          • allowClient object
            Hide allowClient attributes Show allowClient attributes object
            • allowSocialApps array[string] Required
            • allowShareAll boolean Required
          • autoShare object
            Hide autoShare attributes Show autoShare attributes object
            • allowClientApproval boolean Required
            • allowAdditionalShare boolean Required
            • searches array[object] Required
              Hide searches attributes Show searches attributes object
              • type string Required

                Values are name, phone, keywords, or email. Default value is name.

              • values array[string] Required
              • apps array[string] Required
              • dateRange object Required
                Hide dateRange attributes Show dateRange attributes object
                • start string(date-time) | null Required
                • end string(date-time) | null Required
              • exactMatch boolean Required
              • include boolean Required
              • conversationType string Required

                Values are all, dm, or group. Default value is all.

          • shareAll object
            Hide shareAll attributes Show shareAll attributes object
            • apps array[string] Required
            • includeAttachments boolean Required
            • dateRange object
              Hide dateRange attributes Show dateRange attributes object
              • start string(date-time) | null Required
              • end string(date-time) | null Required
            • searchesExclude array[object]
              Hide searchesExclude attributes Show searchesExclude attributes object
              • type string Required

                Values are name, phone, keywords, or email. Default value is name.

              • values array[string] Required
              • apps array[string] Required
              • exactMatch boolean Required
              • conversationType string Required

                Values are all, dm, or group. Default value is all.

        • devices array[object] | null Required

          Not loaded by any route, so always null or an empty list.

        • totalDevicesCount number Required
        • dueDate string(date-time) | null
        • sendEmail boolean

          Default value is false.

        • lockedAt string(date-time) | null
        • hasDueDateCrossed boolean Required
        • status string Required
        • reviewStatus string | null Required

          Values are approved, rejected, not_reviewed, or na.

        • reviewMessage string | null Required
        • lastApprovedBy object Required

          The full record on routes that load it; null (or an empty list) on routes that do not.

          Hide lastApprovedBy attributes Show lastApprovedBy attributes object
          • createdAt string(date-time) Required
          • updatedAt string(date-time) Required
          • id string Required
          • name string Required
          • email string Required
          • phone array[string] Required
          • isActive boolean Required
          • isEmailVerified boolean Required
          • lastActive string(date-time) Required
          • roles array[string] Required
          • avatar object Required

            The full record on routes that load it; null (or an empty list) on routes that do not.

            Hide avatar attributes Show avatar attributes object
            • createdAt string(date-time) Required
            • updatedAt string(date-time) Required
            • id string Required
            • name string Required
            • providerId string Required
            • convertedName string | null Required
            • convertedProviderId string Required
            • provider string Required
            • size number Required

              Size in bytes

            • transferState number | null Required
          • onboardingStatus string | null Required
          • userType string | null Required
          • firstName string Required
          • lastName string Required
          • initials string Required
          • userOrganizations array[object]

            Only filled on the signed-in user's own profile; absent or empty on a user nested in another record.

        • ocReviewedByOrg object Required

          The full record on routes that load it; null (or an empty list) on routes that do not.

          Hide ocReviewedByOrg attributes Show ocReviewedByOrg attributes object
          • createdAt string(date-time) Required
          • updatedAt string(date-time) Required
          • id string Required
          • name string Required
          • slug string Required
          • email string Required
          • contact string Required
          • city string Required
          • state string Required
          • country string Required
          • description string Required
          • phone array[string] Required
          • isActive boolean Required
          • isPriority boolean
          • activePlan object Required

            The full record on routes that load it; null (or an empty list) on routes that do not.

            Hide activePlan attributes Show activePlan attributes object
            • createdAt string(date-time) Required
            • updatedAt string(date-time) Required
            • id string Required
            • subscription object | null Required

              Not loaded on public routes, so always null there. Only the internal admin organization report loads it.

            • relatedSubscription array[object] | null Required

              Not loaded by any route, so always null or an empty list.

            • organization object | null Required

              Not loaded by any route, so always null.

            • seats number Required
            • seatsUsed number Required
            • devices number Required
            • deviceUsed number Required
            • storage number Required

              Storage in bytes

            • storageUsed number Required

              Storage used in bytes

            • payments array[object] | null Required

              Not loaded by any route, so always null or an empty list.

            • type string Required

              Values are admin, free, limited-access, trial, tier1, tier2, tier3, tier4, tier5, tier6, or tier7.

            • isActive boolean Required
            • isBetweenPlanChanges boolean Required
            • storageInKb number Required
            • storageUsedInKb number Required
            • storageInMb number Required
            • storageUsedInMb number Required
            • storageInGb number Required
            • storageUsedInGb number Required
            • storageInTb number Required
            • storageUsedInTb number Required
            • isFreePlan boolean Required
            • remainingSeats number Required
            • remainingDevices number Required
            • remainingStorage number Required

              Storage left in bytes (storage minus storageUsed).

          • metadata object Required
          • type string Required
          • version string Required

            Values are v1, v2, eu, or ca.

        • ocReviewedAt string(date-time) | null Required
        • ocRequired boolean Required

          Default value is true.

        • allowShareAll boolean Required Deprecated
        • metadata object Required
        • logsConfig object Required
        • sources array[object]
          Hide sources attributes Show sources attributes object
          • createdAt string(date-time) Required
          • updatedAt string(date-time) Required
          • id string Required
          • case object | null Required

            Not loaded by any route, so always null.

          • extractionCode object | null Required

            Not loaded by any route, so always null.

          • dataSource object Required

            The full record on routes that load it; null (or an empty list) on routes that do not.

            Hide dataSource attributes Show dataSource attributes object
            • createdAt string(date-time) Required
            • updatedAt string(date-time) Required
            • id string Required
            • name string Required
            • displayName string Required
            • category string Required
            • config object | null Required

              Collection options for this source. The keys below are the ones the code reads, for device sources (ios, android).

              Additional properties are allowed.

              Hide config attributes Show config attributes object | null
              • iosEnableEncryptedBackup boolean
              • iosAllowOnlyEncryptedBackup boolean
              • iosAutoIncludeSafariData boolean
              • iosAutoIncludeNotesData boolean
              • androidIgnoreMediaPermission boolean
              • iosAllApps array[string]
              • iosAllowedApps array[string]
              • androidAllApps array[string]
              • androidAllowedApps array[string]
          • caseDataSource object Required

            The full record on routes that load it; null (or an empty list) on routes that do not.

            Hide caseDataSource attributes Show caseDataSource attributes object
            • createdAt string(date-time) Required
            • updatedAt string(date-time) Required
            • id string Required
            • case object | null Required

              Not loaded by any route, so always null.

            • dataSource object Required

              The full record on routes that load it; null (or an empty list) on routes that do not.

              Hide dataSource attributes Show dataSource attributes object
              • createdAt string(date-time) Required
              • updatedAt string(date-time) Required
              • id string Required
              • name string Required
              • displayName string Required
              • category string Required
              • config object | null Required

                Collection options for this source. The keys below are the ones the code reads, for device sources (ios, android).

                Additional properties are allowed.

                Hide config attributes Show config attributes object | null
                • iosEnableEncryptedBackup boolean
                • iosAllowOnlyEncryptedBackup boolean
                • iosAutoIncludeSafariData boolean
                • iosAutoIncludeNotesData boolean
                • androidIgnoreMediaPermission boolean
                • iosAllApps array[string]
                • iosAllowedApps array[string]
                • androidAllApps array[string]
                • androidAllowedApps array[string]
            • config object | null Required
          • config object | null Required
        • payment object | null Required
      • totalExtractionCodes number Required
      • dataSourcesStatusCount object Required
    • statusCode number Required
    • timestamp string(date-time) Required
PATCH /case/{caseId}/unlink-conversations
curl \
 --request PATCH 'http://api.example.com/case/{caseId}/unlink-conversations' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --header "organization: string" \
 --data '{
  "conversations": [
    []
  ]
}'
Request examples
# Headers
organization: string

# Payload
{
  "conversations": [
    []
  ]
}
Response examples (200)
{
  "data": {
    "case": {
      "createdAt": "2026-01-15T14:30:00.000Z",
      "updatedAt": "2026-01-15T14:30:00.000Z",
      "id": "507f1f77bcf86cd799439011",
      "name": "Doe v. Example Corp",
      "slug": "doe-v-example-corp",
      "description": "Employment dispute",
      "matterId": "MAT-0042",
      "status": "open",
      "assignStatus": "assigned",
      "createdBy": {
        "createdAt": "2026-01-15T14:30:00.000Z",
        "updatedAt": "2026-01-15T14:30:00.000Z",
        "id": "507f1f77bcf86cd799439011",
        "name": "Jane Doe",
        "email": "jane.doe@example.com",
        "phone": [
          "+15555550100"
        ],
        "isActive": true,
        "isEmailVerified": true,
        "lastActive": "2026-01-15T14:30:00.000Z",
        "roles": [
          "user"
        ],
        "avatar": {
          "createdAt": "2026-01-15T14:30:00.000Z",
          "updatedAt": "2026-01-15T14:30:00.000Z",
          "id": "507f1f77bcf86cd799439011",
          "name": "photo.heic",
          "providerId": "uploads/507f1f77bcf86cd799439011/photo.heic",
          "convertedName": "photo.jpg",
          "convertedProviderId": "uploads/507f1f77bcf86cd799439011/photo.jpg",
          "provider": "s3",
          "size": 204800,
          "transferState": 42.0
        },
        "onboardingStatus": "completed",
        "userType": "attorney",
        "firstName": "Jane",
        "lastName": "Doe",
        "initials": "JD",
        "userOrganizations": [
          {}
        ]
      },
      "assignedTo": [
        "507f1f77bcf86cd799439011"
      ],
      "organization": {
        "createdAt": "2026-01-15T14:30:00.000Z",
        "updatedAt": "2026-01-15T14:30:00.000Z",
        "id": "507f1f77bcf86cd799439011",
        "name": "Example Law LLP",
        "slug": "example-law-llp",
        "email": "office@example.com",
        "contact": "Jane Doe",
        "city": "New York",
        "state": "NY",
        "country": "US",
        "description": "Litigation practice",
        "phone": [
          "+15555550100"
        ],
        "logo": "https://files.example.com/logo.png",
        "isActive": true,
        "isPriority": false,
        "activePlan": {
          "createdAt": "2026-01-15T14:30:00.000Z",
          "updatedAt": "2026-01-15T14:30:00.000Z",
          "id": "507f1f77bcf86cd799439011",
          "subscription": {},
          "relatedSubscription": [
            {}
          ],
          "organization": {},
          "seats": 5,
          "seatsUsed": 3,
          "devices": 10,
          "deviceUsed": 4,
          "storage": 100000000000,
          "storageUsed": 12000000000,
          "payments": [
            {}
          ],
          "type": "admin",
          "isActive": true,
          "isBetweenPlanChanges": false,
          "storageInKb": 100000000,
          "storageUsedInKb": 12000000,
          "storageInMb": 100000,
          "storageUsedInMb": 12000,
          "storageInGb": 100,
          "storageUsedInGb": 12,
          "storageInTb": 0.1,
          "storageUsedInTb": 0.012,
          "isFreePlan": false,
          "remainingSeats": 2,
          "remainingDevices": 6,
          "remainingStorage": 88000000000
        },
        "metadata": {},
        "type": "law_firm",
        "version": "v1"
      },
      "isActive": true,
      "tags": [
        {
          "createdAt": "2026-01-15T14:30:00.000Z",
          "updatedAt": "2026-01-15T14:30:00.000Z",
          "id": "507f1f77bcf86cd799439011",
          "name": "Important",
          "nameLowercase": "important",
          "backgroundColor": "#FDE68A",
          "textColor": "#92400E",
          "type": "system",
          "severity": "info",
          "origin": "manual",
          "creatorAccessType": "org",
          "isActive": true
        }
      ],
      "priority": "medium",
      "attachedDevices": [
        "507f1f77bcf86cd799439012"
      ],
      "integrations": [
        {
          "createdAt": "2026-01-15T14:30:00.000Z",
          "updatedAt": "2026-01-15T14:30:00.000Z",
          "id": "507f1f77bcf86cd799439011",
          "integrationType": "clio",
          "attachedAt": "2026-01-15T14:30:00.000Z",
          "remoteCaseId": "1234567890",
          "remoteCaseName": "Doe v. Example Corp"
        }
      ],
      "totalConversations": 128,
      "archivedBy": {},
      "exportJobId": "job-1234",
      "metadata": {},
      "extractionCodePaymentThreadId": "string",
      "attachedTags": [
        {
          "tagId": "507f1f77bcf86cd799439011",
          "tag": "Important",
          "addedBy": "user",
          "addedById": "507f1f77bcf86cd799439012",
          "removedAt": "2026-05-04T09:42:00Z",
          "removedBy": "user",
          "removedById": "string"
        }
      ],
      "ocCase": false,
      "isOcShared": false,
      "proEnabled": false,
      "isArchived": false
    },
    "usersWithAccess": [
      {
        "createdAt": "2026-01-15T14:30:00.000Z",
        "updatedAt": "2026-01-15T14:30:00.000Z",
        "id": "507f1f77bcf86cd799439011",
        "user": {
          "createdAt": "2026-01-15T14:30:00.000Z",
          "updatedAt": "2026-01-15T14:30:00.000Z",
          "id": "507f1f77bcf86cd799439011",
          "name": "Jane Doe",
          "email": "jane.doe@example.com",
          "phone": [
            "+15555550100"
          ],
          "isActive": true,
          "isEmailVerified": true,
          "lastActive": "2026-01-15T14:30:00.000Z",
          "roles": [
            "user"
          ],
          "avatar": {
            "createdAt": "2026-01-15T14:30:00.000Z",
            "updatedAt": "2026-01-15T14:30:00.000Z",
            "id": "507f1f77bcf86cd799439011",
            "name": "photo.heic",
            "providerId": "uploads/507f1f77bcf86cd799439011/photo.heic",
            "convertedName": "photo.jpg",
            "convertedProviderId": "uploads/507f1f77bcf86cd799439011/photo.jpg",
            "provider": "s3",
            "size": 204800,
            "transferState": 42.0
          },
          "onboardingStatus": "completed",
          "userType": "attorney",
          "firstName": "Jane",
          "lastName": "Doe",
          "initials": "JD",
          "userOrganizations": [
            {}
          ]
        },
        "status": "active",
        "level": "admin",
        "lastAccessedAt": "2026-01-16T09:12:00.000Z"
      }
    ],
    "usersWithPendingAccess": [
      {
        "createdAt": "2026-01-15T14:30:00.000Z",
        "updatedAt": "2026-01-15T14:30:00.000Z",
        "id": "507f1f77bcf86cd799439011",
        "invitedUserEmail": "jane.doe@example.com",
        "invitedUserName": "Jane Doe",
        "invitedBy": {
          "createdAt": "2026-01-15T14:30:00.000Z",
          "updatedAt": "2026-01-15T14:30:00.000Z",
          "id": "507f1f77bcf86cd799439011",
          "name": "Jane Doe",
          "email": "jane.doe@example.com",
          "phone": [
            "+15555550100"
          ],
          "isActive": true,
          "isEmailVerified": true,
          "lastActive": "2026-01-15T14:30:00.000Z",
          "roles": [
            "user"
          ],
          "avatar": {
            "createdAt": "2026-01-15T14:30:00.000Z",
            "updatedAt": "2026-01-15T14:30:00.000Z",
            "id": "507f1f77bcf86cd799439011",
            "name": "photo.heic",
            "providerId": "uploads/507f1f77bcf86cd799439011/photo.heic",
            "convertedName": "photo.jpg",
            "convertedProviderId": "uploads/507f1f77bcf86cd799439011/photo.jpg",
            "provider": "s3",
            "size": 204800,
            "transferState": 42.0
          },
          "onboardingStatus": "completed",
          "userType": "attorney",
          "firstName": "Jane",
          "lastName": "Doe",
          "initials": "JD",
          "userOrganizations": [
            {}
          ]
        },
        "organization": {},
        "case": {},
        "invitedUserRole": "member",
        "status": "pending",
        "emailSent": true,
        "emailSentAt": "2026-01-15T14:30:00.000Z",
        "acceptedAt": "2026-05-04T09:42:00Z",
        "acceptedBy": {},
        "invitedUser": {
          "createdAt": "2026-01-15T14:30:00.000Z",
          "updatedAt": "2026-01-15T14:30:00.000Z",
          "id": "507f1f77bcf86cd799439011",
          "name": "Jane Doe",
          "email": "jane.doe@example.com",
          "phone": [
            "+15555550100"
          ],
          "isActive": true,
          "isEmailVerified": true,
          "lastActive": "2026-01-15T14:30:00.000Z",
          "roles": [
            "user"
          ],
          "avatar": {
            "createdAt": "2026-01-15T14:30:00.000Z",
            "updatedAt": "2026-01-15T14:30:00.000Z",
            "id": "507f1f77bcf86cd799439011",
            "name": "photo.heic",
            "providerId": "uploads/507f1f77bcf86cd799439011/photo.heic",
            "convertedName": "photo.jpg",
            "convertedProviderId": "uploads/507f1f77bcf86cd799439011/photo.jpg",
            "provider": "s3",
            "size": 204800,
            "transferState": 42.0
          },
          "onboardingStatus": "completed",
          "userType": "attorney",
          "firstName": "Jane",
          "lastName": "Doe",
          "initials": "JD",
          "userOrganizations": [
            {}
          ]
        },
        "rejectedAt": "2026-05-04T09:42:00Z",
        "rejectedReason": "Not involved in this matter",
        "initials": "JD"
      }
    ],
    "conversationsCount": 128,
    "extractionCodes": [
      {
        "createdAt": "2026-01-15T14:30:00.000Z",
        "updatedAt": "2026-01-15T14:30:00.000Z",
        "id": "507f1f77bcf86cd799439011",
        "code": "K7Q2-9XPL",
        "email": "jane.doe@example.com",
        "name": "Jane Doe",
        "phone": "+15555550100",
        "isActive": true,
        "label": "Primary phone",
        "config": {
          "type": "allow_client",
          "origin": "Website",
          "ignoreMediaPermissionAndroid": false,
          "dateRange": {
            "start": "2026-05-04T09:42:00Z",
            "end": "2026-05-04T09:42:00Z"
          },
          "appConfig": {
            "conversionConcurrency": [
              {
                "mediaType": "images",
                "concurrency": [
                  4,
                  6,
                  12,
                  16
                ]
              }
            ],
            "compressionConcurrency": [
              {
                "mediaType": "images",
                "concurrency": [
                  4,
                  6,
                  12,
                  16
                ]
              }
            ],
            "enableLocalMediaConversion": true,
            "enableLocalMediaCompression": true,
            "enableIosEncryptedBackupExtraction": false,
            "allowOnlyEncryptedIosBackup": false,
            "autoIncludeSafariData": false,
            "autoIncludeNotesData": false,
            "autoIncludeContacts": false,
            "shareAction": "share"
          },
          "enableLocalExport": {
            "formats": [
              "pdf"
            ],
            "defaultConfig": {
              "chunkType": "year",
              "includeAttachments": true
            }
          },
          "allowClient": {
            "allowSocialApps": [
              "whatsapp"
            ],
            "allowShareAll": false
          },
          "autoShare": {
            "allowClientApproval": false,
            "allowAdditionalShare": false,
            "searches": [
              {
                "type": "name",
                "values": [
                  "Jane Doe"
                ],
                "apps": [
                  "whatsapp"
                ],
                "dateRange": {
                  "start": "2026-05-04T09:42:00Z",
                  "end": "2026-05-04T09:42:00Z"
                },
                "exactMatch": false,
                "include": true,
                "conversationType": "all"
              }
            ]
          },
          "shareAll": {
            "apps": [
              "whatsapp"
            ],
            "includeAttachments": true,
            "dateRange": {
              "start": "2026-05-04T09:42:00Z",
              "end": "2026-05-04T09:42:00Z"
            },
            "searchesExclude": [
              {
                "type": "name",
                "values": [
                  "Jane Doe"
                ],
                "apps": [
                  "whatsapp"
                ],
                "exactMatch": false,
                "conversationType": "all"
              }
            ]
          }
        },
        "devices": [
          {}
        ],
        "totalDevicesCount": 1,
        "dueDate": "2026-01-15T14:30:00.000Z",
        "sendEmail": true,
        "lockedAt": "2026-05-04T09:42:00Z",
        "hasDueDateCrossed": false,
        "status": "pending",
        "reviewStatus": "approved",
        "reviewMessage": "string",
        "lastApprovedBy": {
          "createdAt": "2026-01-15T14:30:00.000Z",
          "updatedAt": "2026-01-15T14:30:00.000Z",
          "id": "507f1f77bcf86cd799439011",
          "name": "Jane Doe",
          "email": "jane.doe@example.com",
          "phone": [
            "+15555550100"
          ],
          "isActive": true,
          "isEmailVerified": true,
          "lastActive": "2026-01-15T14:30:00.000Z",
          "roles": [
            "user"
          ],
          "avatar": {
            "createdAt": "2026-01-15T14:30:00.000Z",
            "updatedAt": "2026-01-15T14:30:00.000Z",
            "id": "507f1f77bcf86cd799439011",
            "name": "photo.heic",
            "providerId": "uploads/507f1f77bcf86cd799439011/photo.heic",
            "convertedName": "photo.jpg",
            "convertedProviderId": "uploads/507f1f77bcf86cd799439011/photo.jpg",
            "provider": "s3",
            "size": 204800,
            "transferState": 42.0
          },
          "onboardingStatus": "completed",
          "userType": "attorney",
          "firstName": "Jane",
          "lastName": "Doe",
          "initials": "JD",
          "userOrganizations": [
            {}
          ]
        },
        "ocReviewedByOrg": {
          "createdAt": "2026-01-15T14:30:00.000Z",
          "updatedAt": "2026-01-15T14:30:00.000Z",
          "id": "507f1f77bcf86cd799439011",
          "name": "Example Law LLP",
          "slug": "example-law-llp",
          "email": "office@example.com",
          "contact": "Jane Doe",
          "city": "New York",
          "state": "NY",
          "country": "US",
          "description": "Litigation practice",
          "phone": [
            "+15555550100"
          ],
          "logo": "https://files.example.com/logo.png",
          "isActive": true,
          "isPriority": false,
          "activePlan": {
            "createdAt": "2026-01-15T14:30:00.000Z",
            "updatedAt": "2026-01-15T14:30:00.000Z",
            "id": "507f1f77bcf86cd799439011",
            "subscription": {},
            "relatedSubscription": [
              {}
            ],
            "organization": {},
            "seats": 5,
            "seatsUsed": 3,
            "devices": 10,
            "deviceUsed": 4,
            "storage": 100000000000,
            "storageUsed": 12000000000,
            "payments": [
              {}
            ],
            "type": "admin",
            "isActive": true,
            "isBetweenPlanChanges": false,
            "storageInKb": 100000000,
            "storageUsedInKb": 12000000,
            "storageInMb": 100000,
            "storageUsedInMb": 12000,
            "storageInGb": 100,
            "storageUsedInGb": 12,
            "storageInTb": 0.1,
            "storageUsedInTb": 0.012,
            "isFreePlan": false,
            "remainingSeats": 2,
            "remainingDevices": 6,
            "remainingStorage": 88000000000
          },
          "metadata": {},
          "type": "law_firm",
          "version": "v1"
        },
        "ocReviewedAt": "2026-05-04T09:42:00Z",
        "ocRequired": true,
        "allowShareAll": false,
        "metadata": {},
        "logsConfig": {},
        "sources": [
          {
            "createdAt": "2026-01-15T14:30:00.000Z",
            "updatedAt": "2026-01-15T14:30:00.000Z",
            "id": "507f1f77bcf86cd799439011",
            "case": {},
            "extractionCode": {},
            "dataSource": {
              "createdAt": "2026-01-15T14:30:00.000Z",
              "updatedAt": "2026-01-15T14:30:00.000Z",
              "id": "507f1f77bcf86cd799439011",
              "name": "gmail",
              "displayName": "Gmail",
              "category": "email",
              "config": {
                "iosEnableEncryptedBackup": true,
                "iosAllowOnlyEncryptedBackup": false,
                "iosAllApps": [
                  "messages",
                  "call_log",
                  "whatsapp",
                  "photos"
                ],
                "iosAllowedApps": [
                  "messages",
                  "call_log"
                ]
              }
            },
            "caseDataSource": {
              "createdAt": "2026-01-15T14:30:00.000Z",
              "updatedAt": "2026-01-15T14:30:00.000Z",
              "id": "507f1f77bcf86cd799439011",
              "case": {},
              "dataSource": {
                "createdAt": "2026-01-15T14:30:00.000Z",
                "updatedAt": "2026-01-15T14:30:00.000Z",
                "id": "507f1f77bcf86cd799439011",
                "name": "gmail",
                "displayName": "Gmail",
                "category": "email",
                "config": {
                  "iosEnableEncryptedBackup": true,
                  "iosAllowOnlyEncryptedBackup": false,
                  "iosAllApps": [
                    "messages",
                    "call_log",
                    "whatsapp",
                    "photos"
                  ],
                  "iosAllowedApps": [
                    "messages",
                    "call_log"
                  ]
                }
              },
              "config": {
                "iosEnableEncryptedBackup": true,
                "iosAllowOnlyEncryptedBackup": false,
                "iosAutoIncludeSafariData": true,
                "iosAutoIncludeNotesData": false,
                "iosAllowedApps": [
                  "messages",
                  "call_log",
                  "whatsapp"
                ]
              }
            },
            "config": {
              "iosEnableEncryptedBackup": true,
              "iosAllowOnlyEncryptedBackup": false,
              "iosAllApps": [
                "messages",
                "call_log",
                "whatsapp",
                "photos"
              ],
              "iosAllowedApps": [
                "messages",
                "call_log"
              ]
            }
          }
        ],
        "payment": {}
      }
    ],
    "totalExtractionCodes": 5,
    "dataSourcesStatusCount": {
      "completed": 4,
      "in_progress": 1
    }
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}