Show more

Use to navigate results, ENTER to select one, ESC to close

Type in any word to easily find the endpoint, property or group of operations you are looking for.

API changelog
Download source
  • JSON OpenAPI specification
  • YAML OpenAPI specification
integrations

Topics

  • Introduction
  • Authentication

Endpoints

  • auth
    • Sign in with email and password POST
    • Create a long-lived API token POST
    • List my automation tokens GET
    • Revoke an automation token DELETE
    • Change an automation token's scopes PATCH
    • Refresh the access token POST
    • Sign out POST
    • Sign up a new user and organization POST
    • Email a password-reset link POST
    • Reset the password with an emailed token POST
    • Check whether an email can sign up POST
  • billing
    • Upgrade a case to Pro POST
    • Start adding a card POST
    • Choose or change the plan POST
    • Get a case's billing statement GET
    • Get the organization's charges by case GET
    • List billing events (internal) GET
    • List self-serve plans GET
    • Get the current plan and usage GET
    • Get the credit balance GET
    • Get the billing report (internal) POST
  • user
    • Get my profile GET
    • Update my profile PATCH
    • Change my password POST
    • Verify an email address POST
    • Resend the verification email (internal) POST
  • organizations
    • Create an organization POST
    • List organization invitations GET
    • Check whether an organization name is free (internal) POST
    • List my pending organization invitations (internal) GET
    • Get an organization GET
    • Update an organization PATCH
    • Get an organization by slug (internal) GET
    • Get an organization's plan usage (internal) GET
    • Get an organization's storage by case GET
    • List my organizations GET
    • List organization members GET
    • Invite users to an organization POST
    • Delete a pending invitation DELETE
    • Resend an invitation POST
    • Accept an organization invitation POST
    • Reject an organization invitation (internal) POST
    • Change members' organization roles (internal) PATCH
    • Update organization members PATCH
    • Remove a member from an organization DELETE
    • Ask the organization for more devices (internal) POST
    • List organization tags GET
    • Create an organization tag POST
    • Delete an organization tag DELETE
    • Update an organization tag PATCH
  • cases
    • List cases GET
    • Create a case POST
    • Check whether a case name is free GET
    • Get a case GET
    • Update a case PATCH
    • List a case's data sources GET
    • Get a case by slug GET
    • Archive a case POST
    • Unarchive a case POST
    • Remove all conversations from a case DELETE
    • Link conversations to a case PATCH
    • Unlink conversations from a case PATCH
    • List case exports GET
    • Start a case export POST
    • Delete an export DELETE
    • Re-run an export POST
    • List a case's extraction codes GET
    • Create an extraction code POST
    • Get data-collection status (v1) GET
    • Get data-collection status (v2) GET
    • Get data-collection status as a tree GET
    • Get data-collection status (tree v3) GET
    • Delete an extraction code DELETE
    • Update an extraction code PATCH
    • Update a custodian's contact details PATCH
    • Email an extraction code POST
    • List conversation searches GET
    • List device activity GET
    • Request a zip of conversation attachments POST
    • List a case's tags GET
    • Create a tag POST
    • Delete a tag DELETE
    • Update a tag PATCH
  • case-access
    • Search case invitations across organizations GET
    • List my pending case invitations GET
    • List case members GET
    • List case invitations GET
    • Add every organization member to a case POST
    • Invite people to a case POST
    • Cancel a pending invitation DELETE
    • Resend an invitation POST
    • Accept a case invitation POST
    • Reject a case invitation POST
    • Change a member's case access PATCH
    • Remove a member from a case DELETE
    • Invite a colleague (opposing counsel) POST
    • Remove a colleague (opposing counsel) DELETE
    • Cancel a colleague invitation (opposing counsel) DELETE
  • collections
    • List a case's collections GET
    • Create a collection POST
    • Create collections from search terms POST
    • List a collection's entries GET
    • Get a collection GET
    • Delete a collection DELETE
    • Rename a collection PATCH
    • Get a collection by slug GET
    • Add messages to a collection PATCH
    • Add whole conversations to a collection PATCH
    • Remove messages from a collection PATCH
    • Empty a collection PATCH
    • Insert an entry at a position POST
    • Move an entry PATCH
  • case-contact
    • List a case's contacts GET
    • Edit a contact PATCH
    • Link two contacts PATCH
    • Export contacts to CSV POST
    • Archive conversations POST
    • Unarchive conversations POST
    • Edit a conversation PATCH
    • Set a conversation's tags PATCH
    • Add a conversation manually POST
  • case-browser-history
    • List browser history GET
  • cases/files
    • List case files GET
    • Add files to a case POST
    • Request a zip of case files POST
    • Set a file's category PATCH
    • Set a file's tags PATCH
  • cases/media
    • List case media GET
  • cases/notes
    • List case notes GET
  • cases/extraction-code/suggestions
    • List suggestions for an extraction code GET
    • Suggest an extraction-code configuration POST
    • Withdraw my open suggestion DELETE
    • Edit my open suggestion PATCH
    • Comment on a suggestion POST
    • Approve a suggestion PATCH
    • Reject a suggestion PATCH
  • cases/extraction-code/review
    • Approve an extraction code PATCH
    • Reject an extraction code PATCH
  • cases/oc-approvals
    • Approve data for the other side POST
    • Withdraw data approval POST
    • List data approvals GET
  • extraction
    • Record collection events (internal) POST
    • Save device file hashes (internal) POST
    • Match device file hashes (internal) POST
    • Upload app logs without a session (internal) POST
    • Upload app logs (internal) POST
    • Upload app logs from S3 without a session (internal) POST
    • Upload app logs from S3 (internal) POST
    • Get the backup status of devices (internal) POST
    • Sign out POST
    • Refresh the access token (internal) POST
    • Sign in with an extraction code POST
    • Get temporary S3 upload credentials (internal) POST
    • Import uploaded conversations (internal) POST
    • List uploaded conversations (internal) GET
    • Record device activity (internal) POST
    • Report a device backup update (internal) POST
    • Report device storage usage (internal) POST
    • Record user-reported device storage (internal) POST
    • Register or update a device (internal) POST
    • Get the signed-in user's profile GET
    • Update the signed-in user's profile PATCH
    • Update extraction code metadata PATCH
    • Get the organization's plan usage (internal) GET
    • Ask the organization's admins for more devices (internal) POST
    • Post device messages to Slack (internal) POST
    • Post tracking messages to Slack (internal) POST
    • Post a conversation upload status to Slack (internal) POST
    • Register an uploaded debug bundle (internal) POST
    • Get desktop app settings (internal) GET
    • Add uploaded files to the case POST
    • Import device media records (internal) POST
    • Import device notes (internal) POST
    • Import Safari browser history (internal) POST
    • Import call logs (internal) POST
    • Count imported files (internal) GET
    • List files uploaded with the extraction code GET
    • List the extraction code's mailboxes GET
    • List a mailbox's folders POST
    • List email threads GET
    • List the emails in a thread GET
    • Search emails GET
    • List sender and recipient domains GET
    • Get the thread of an email GET
    • Get the collection status tree GET
    • Get the collection status (v2) GET
    • Create a Plaid Link token POST
    • Connect a bank account through Plaid POST
    • Import an AI chat export POST
    • Import a LinkedIn export (internal) POST
    • Register an uploaded file POST
  • admin
    • List the collection queue (internal) GET
    • Count in-flight collections by stage (internal) GET
    • List running backups and uploads (internal) GET
    • List inbox cards (internal) GET
    • Clear one inbox item (internal) POST
    • Clear all inbox items of a code (internal) POST
    • Snooze an inbox item (internal) POST
    • Wake a snoozed inbox item (internal) POST
    • Get one collection's detail (internal) GET
    • List a collection's event timeline (internal) GET
    • Get a download link for an event attachment (internal) GET
    • Ask the custodian's computers for logs (internal) POST
    • Watch or unwatch a collection (internal) PATCH
    • Mark an organization as priority (internal) PATCH
    • Get collection funnel and lifecycle stats (internal) GET
    • Get stats for one error code (internal) GET
    • Get a collection timeline as markdown (internal) GET
    • Create a read-only link to a collection timeline (internal) POST
    • Search all cases (internal) GET
    • List a case's event log (internal) GET
    • Create a case for a user (internal) POST
    • Delete a case's conversations (internal) DELETE
    • Create extraction codes for cases (internal) POST
    • Update an extraction code (internal) POST
    • List extraction codes (internal) GET
    • Create extraction codes for all cases (internal) POST
    • Re-run an export (internal) POST
    • Re-run several exports as a batch (internal) POST
    • Get a re-run batch (internal) GET
    • Clear all export locks (internal) POST
    • Count a case's messages (internal) GET
    • Move a case to another organization (internal) POST
    • Move a device to another case (internal) POST
    • Delete a Discord profile (internal) DELETE
    • Delete a Reddit profile (internal) DELETE
    • Search organizations (internal) GET
    • List organizations with their members (internal) GET
    • Get an organization by slug (internal) GET
    • Get an organization by id (internal) GET
    • Get storage use per organization (internal) GET
    • Give every member access to every case (internal) POST
    • Give one member access to every active case (internal) POST
    • Add a user to an organization (internal) POST
    • Remove a user from an organization (internal) POST
    • Transfer organization ownership (internal) PATCH
    • Update an organization (internal) PATCH
    • Clear the whole cache (internal) POST
    • List cache keys (internal) GET
    • Get a cache value (internal) GET
    • Set a cache value (internal) POST
    • Delete a cache key (internal) DELETE
    • Search users (internal) GET
    • Create a user (internal) POST
    • Set a user's password (internal) POST
    • Send a password-reset email (internal) POST
    • Log in as a user (internal) POST
    • Delete a user account (internal) POST
    • Change a user's email (internal) POST
    • Lock a user (internal) POST
    • Unlock a user (internal) POST
    • Count device uploads (internal) POST
    • Get platform totals (internal) GET
    • List newly extracted devices (internal) POST
    • Get the organization activity report (internal) GET
    • Get yesterday's extraction report (internal) GET
    • Send yesterday's extraction report (internal) GET
    • List extraction statuses (internal) GET
    • List connected email accounts (internal) POST
    • List phone storage logs (internal) GET
    • List notifications (internal) GET
    • Sync an organization's legacy subscription (internal) POST
    • Change an organization's legacy plan (internal) POST
    • Start a tag migration (internal) POST
    • Get a tag migration job (internal) GET
    • Cancel a tag migration job (internal) POST
    • Delete a mailbox's imported emails from a case (internal) DELETE
    • Backfill tag mailboxes (internal) POST
    • Fix keyword tags on search imports (internal) POST
    • Delete uploaded case files (internal) POST
    • Update an organization's billing profile (internal) PATCH
    • Move an organization to case billing (internal) POST
    • Add a billing item to a case (internal) POST
    • Give a case a free pro upgrade (internal) POST
    • Comp a billing item (internal) POST
    • Void a billing item (internal) POST
    • Grant AI tokens to a case (internal) POST
    • Change an organization's plan (internal) POST
    • Get an organization's plan and usage (internal) GET
    • Get an organization's billing statement (internal) GET
    • Get an organization's credit balance (internal) GET
    • Grant credit to an organization (internal) POST
    • Get an organization's prepaid units (internal) GET
    • Waive prepaid units for an organization (internal) POST
    • List daily billing sweep runs (internal) GET
    • Run the daily billing sweep now (internal) POST
    • Run the monthly AI overage close now (internal) POST
    • Run the monthly storage check now (internal) POST
    • Run billing reconciliation now (internal) POST
    • List coupons (internal) GET
    • Create a coupon (internal) POST
    • Get a coupon (internal) GET
    • Delete a coupon (internal) DELETE
    • Apply a coupon to an organization (internal) POST
    • Remove the active coupon (internal) DELETE
    • Remove a coupon from the stack (internal) DELETE
    • Get an organization's coupon stack (internal) GET
    • List draft billing items (internal) GET
    • Park a billing item as a draft (internal) POST
    • Release a draft billing item (internal) POST
    • Build a billing report across organizations (internal) POST
    • Get a queued billing report (internal) GET
    • List recurring add-ons (internal) GET
    • Start a recurring add-on (internal) POST
    • Cancel a recurring add-on (internal) DELETE
    • List feature flags (internal) GET
    • Turn a feature flag on or off (internal) PATCH
    • List live exports (internal) GET
    • Cancel an export (internal) POST
    • Resume an export (internal) POST
    • Move a queued export in the queue (internal) POST
    • Remove a queued export's job (internal) DELETE
  • public
    • Read a collection timeline from a shared link (internal) GET
  • certificates
    • List the certificates of a case GET
    • Store a certificate POST
    • Verify a certificate file POST
    • Verify a certificate by id GET
    • Get the certificate PDF link GET
    • Get the certificate JSON link GET
    • Revoke a certificate PATCH
  • conversation
    • Bulk-import conversations (internal) POST
    • List conversations GET
    • List messages in a conversation GET
    • Compare conversations side by side POST
    • Search message text GET
    • Advanced message search POST
    • Count messages per tag POST
    • List uploaded conversations (internal) GET
    • Find the message nearest a date GET
    • Tag many messages POST
    • Tag a message POST
    • Untag a message DELETE
  • aws
    • Get temporary S3 upload credentials POST
  • common
    • Register an uploaded S3 object as a file (internal) POST
    • Get a signed download URL for a file GET
    • Download the Apple Mobile Device Support installer (internal) GET
    • Download a file GET
    • Download a file's original, with a file name in the URL GET
    • Download a file's browser-displayable version GET
    • Download a file, with a file name in the URL GET
  • application
    • Get the latest desktop app downloads GET
    • Refresh the cached desktop app links (internal) GET
    • Refresh the Android app download (internal) GET
  • devices
    • Record device file hashes (internal) POST
    • Check a device file hash (internal) POST
    • Get a device GET
    • Update a device PATCH
  • device-activity-log
    • Record device activity (internal) POST
  • comments
    • List a message's comments (legacy) GET
    • Comment on a message (legacy) POST
    • List a case's comments GET
    • Reply to a comment (legacy) POST
    • Delete a comment (legacy) DELETE
    • Edit a comment (legacy) PATCH
    • List an item's comments GET
    • Comment on an item POST
    • Delete a comment DELETE
    • Edit a comment PATCH
    • Reply to a comment POST
  • dashboard
    • List my alerts (internal) GET
    • List my updates (internal) GET
    • Mark a notification as read (internal) PATCH
    • Mark all notifications as read (internal) PATCH
  • StripeWebhook
    • Stripe invoice and charge events (internal) POST
    • Stripe subscription events (internal) POST
  • payments
    • List legacy subscription plans (internal) GET
    • Check a coupon code (internal) POST
    • Start a legacy subscription checkout (internal) POST
    • Change the legacy subscription plan (internal) POST
    • Create a legacy pricing-table session (internal) POST
    • Open the Stripe billing portal (internal) POST
  • app-config
    • Get the desktop app config (internal) GET
    • Create or update the desktop app config (internal) POST
    • Save a device's settings (internal) POST
    • Delete a device's settings (internal) POST
  • integrations
    • Create a case for a partner POST
  • legal
    • List Clio matters GET
    • Link a case to a Clio matter POST
    • Unlink a case from a Clio matter DELETE
    • List Smokeball matters GET
    • Link a case to a Smokeball matter POST
    • Unlink a case from a Smokeball matter DELETE
    • List the matter participants of a case GET
    • Get the sync settings of a destination GET
    • Update the sync settings of a destination PATCH
    • Export case data to a provider POST
    • List the legal sync records of a case GET
    • Create a Clio expense entry (internal) POST
    • Create a Smokeball expense entry (internal) POST
    • Start a Clio connection GET
    • Finish a Clio connection (internal) GET
    • Disconnect Clio for the organization DELETE
    • Disconnect my Clio connection DELETE
    • Start a Smokeball connection GET
    • Finish a Smokeball connection (internal) GET
    • Disconnect Smokeball for the organization DELETE
    • Disconnect my Smokeball connection DELETE
    • Start a Dropbox connection GET
    • Finish a Dropbox connection (internal) GET
    • Get the Dropbox connection status GET
    • Disconnect Dropbox DELETE
    • List Dropbox folders GET
    • Get the Dropbox folder of a case GET
    • Set the Dropbox folder of a case PUT
    • Clear the Dropbox folder of a case DELETE
    • Receive Clio matter events (internal) POST
    • Receive Clio document events (internal) POST
    • Receive a Clio deauthorization (internal) POST
    • Receive Smokeball events (internal) POST
    • List legal provider connections GET
  • clients
    • List connected desktop apps (internal) GET
    • Ask a desktop app for its logs (internal) POST
    • Open a support conversation in the desktop app (internal) POST
  • email-data
    • Start linking a mailbox (internal) POST
    • Link an OAuth mailbox (internal) POST
    • Link an IMAP mailbox (internal) POST
    • Search a linked mailbox's emails (internal) POST
    • List a linked mailbox's folders (internal) POST
    • Search a linked mailbox's threads (internal) POST
    • Search an IMAP mailbox's threads (internal) POST
    • Start an email import POST
    • Resume a failed import job (internal) POST
    • Cancel an import job POST
    • List email import jobs GET
    • Get an email import job GET
    • List linked mailboxes (internal) GET
  • local-emails
    • List email threads GET
    • Delete email threads DELETE
    • List the emails in a thread GET
    • Search emails GET
    • Count emails per tag GET
    • Count matches for several searches POST
    • List sender and recipient domains GET
    • List addresses in a domain GET
    • Get the thread of an email GET
    • Tag many emails POST
    • Tag many threads POST
    • Hide or unhide threads POST
    • List bulk-tag jobs GET
    • Get a bulk-tag job GET
    • Set an email's tags PATCH
    • Set a thread's tags PATCH
  • discord
    • List Discord profiles GET
    • Archive a Discord profile DELETE
    • Get a Discord profile GET
    • List Discord conversations GET
    • List Discord messages GET
    • List Discord import jobs GET
    • Start a Discord import (internal) POST
    • Get a Discord import job GET
    • List Discord activity events GET
    • List Discord support tickets GET
  • reddit
    • List Reddit profiles GET
    • Archive a Reddit profile DELETE
    • Get a Reddit profile GET
    • List Reddit posts GET
    • List Reddit comments GET
    • List Reddit private messages GET
    • List Reddit chat messages GET
    • List Reddit votes GET
    • List Reddit import jobs GET
    • Start a Reddit import (internal) POST
    • Get a Reddit import job GET
  • linkedin
    • List LinkedIn profiles GET
    • List LinkedIn import jobs GET
    • Get LinkedIn import coverage for a file (internal) GET
    • Get a LinkedIn import job GET
    • Start a LinkedIn import (internal) POST
    • Request a LinkedIn PDF export POST
    • List LinkedIn exports GET
    • Get a LinkedIn export GET
    • Search LinkedIn messages in a case GET
    • Get a LinkedIn profile GET
    • Archive or delete a LinkedIn profile DELETE
    • List LinkedIn conversations GET
    • Get a LinkedIn conversation GET
    • List LinkedIn messages GET
    • List LinkedIn connections GET
    • List LinkedIn comments GET
    • List LinkedIn rich media GET
    • List LinkedIn saved jobs GET
    • List LinkedIn saved items GET
    • List LinkedIn job applications GET
    • List LinkedIn saved job alerts GET
    • Toggle a tag on a LinkedIn conversation PATCH
    • Toggle a tag on a LinkedIn connection PATCH
  • ai-chat
    • List AI chat profiles GET
    • Archive an AI chat profile DELETE
    • Search AI chat messages in a case GET
    • Get an AI chat profile GET
    • List AI chat conversations GET
    • List AI chat messages GET
    • Export an AI chat conversation to PDF POST
    • List AI chat import jobs GET
    • Start an AI chat import (internal) POST
    • Get an AI chat import job (internal) GET
    • Set tags on an AI chat conversation PATCH
  • ai-admin
    • Smoke-test Bedrock embeddings (internal) POST
    • Smoke-test Bedrock Claude (internal) POST
    • Smoke-test Bedrock rerank (internal) POST
    • Backfill AI ingestion for device messages (internal) POST
    • Backfill AI ingestion for LinkedIn (internal) POST
    • Backfill AI ingestion for Discord (internal) POST
    • Backfill AI ingestion for email (internal) POST
    • Backfill AI ingestion for AI chat (internal) POST
    • Backfill AI ingestion for Reddit (internal) POST
    • List the active AI prompts (internal) GET
    • List the versions of an AI prompt (internal) GET
    • Get the active AI prompt (internal) GET
    • Get one AI prompt version (internal) GET
    • Edit an AI prompt version in place (internal) PATCH
    • Create an AI prompt draft (internal) POST
    • Activate an AI prompt version (internal) POST
    • Reset an AI prompt to its code default (internal) POST
  • ai
    • Cancel the AI jobs of a case POST
    • Reset the AI data of a case POST
    • Search case evidence POST
    • Get the AI processing progress GET
    • Get the AI case summary GET
    • Regenerate the case narrative POST
    • Accept the pending narrative POST
    • Discard the pending narrative DELETE
    • Update the attorney notes PUT
    • Get the AI case context GET
    • Update the AI case context PATCH
    • Confirm the AI case context POST
    • Extract case context from a filing POST
    • List filing extractions GET
    • Apply a filing extraction POST
    • Get the evidentiary map GET
    • Regenerate the evidentiary map POST
    • Regenerate one evidentiary map element POST
    • Set an attorney override on an element PUT
    • Suggest tags for a conversation chunk POST
  • financial-data
    • Create a Plaid sandbox public token (internal) POST
    • List investment transactions GET
    • Get a Plaid item's live status GET
    • Disconnect a Plaid item DELETE
    • List financial accounts GET
    • List investment holdings GET
    • List liabilities GET
    • Re-run Plaid syncs for an item (internal) POST
    • List transactions GET
    • Summarize an account's transactions by category GET
    • Summarize a case's transactions by month and category GET
    • Download the monthly category summary as CSV GET
    • List a case's transaction categories GET
    • Change a transaction's category PATCH
    • List recurring transactions GET
    • Tag a transaction POST
    • Remove tags from a transaction DELETE
    • Tag several transactions POST
    • Tag a recurring transaction POST
    • Remove tags from a recurring transaction DELETE
    • Tag several recurring transactions POST
    • Tag a liability POST
    • Remove tags from a liability DELETE
    • Tag several liabilities POST
    • Tag a holding POST
    • Remove tags from a holding DELETE
    • Tag several holdings POST
    • Tag an investment transaction POST
    • Remove tags from an investment transaction DELETE
    • Tag several investment transactions POST
    • List a Plaid item's bank statements GET
    • Download all statements as a ZIP POST
    • Refresh a Plaid item's statements POST
  • financial-data-export
    • Export an account's transactions POST
    • Export a Plaid item's transactions POST
    • Export an account's recurring transactions POST
    • Export a Plaid item's recurring transactions POST
    • Export an account's holdings POST
    • Export a Plaid item's holdings POST
    • Export an account's liabilities POST
    • Export a Plaid item's liabilities POST
    • Export an account's investment transactions POST
    • Export a Plaid item's investment transactions POST
    • List a case's financial exports GET
    • Get a financial export's status GET
  • plaid-partner
    • Register the organization with Plaid POST
    • Remove the organization from Plaid DELETE
    • Get the organization's Plaid status GET
    • List OAuth bank registrations GET
    • Receive a Plaid partner webhook (internal) POST
  • WellKnown
    • Microsoft identity association (internal) GET
  • data-source
    • List data sources GET
  • app
    • Health check (internal) GET
  • case-events
    • List case events GET
Powered by Bump.sh
API changelog
Download source
  • JSON OpenAPI specification
  • YAML OpenAPI specification
integrations

List cases

Ask AI
  • Add to Cursor
  • Add to VSCode
  • Add to other AI tools (MCP)

  • Open in ChatGPT
  • Open in Claude

  • View as Markdown
  • Copy as Markdown

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
GET /case
Access token

Lists the cases the caller can see in the organization from the organization header, most recently updated first by default, including cases shared with the caller by another firm. Each row carries the case plus the counts the case list shows (extraction codes, data used, data-source statuses, conversations). Use GET /case/:caseId for a single case.

Headers

  • organization string Required

    id of the selected (active) organization

Query parameters

  • page number

    Default value is 1.

  • perPage number

    Default value is 10.

  • skip number

    If skip/limit not provided, page/perPage will take precedence

  • limit number

    If skip/limit not provided, page/perPage will take precedence

  • sortOrder string

    Values are asc or desc. Default value is asc.

  • hasUpdates number

    0 false, 1 true

  • skipPagination number

    0 false, 1 true

  • searchText string

    Minimum length is 3, maximum length is 100.

  • tags array[string]
  • status string

    Values are open, closed, archived, or pending.

  • priority string

    Values are low, medium, high, or urgent.

  • assignStatus string

    Values are assigned or unassigned.

  • assignedTo string
  • users array[string]
  • isDefault number

    0 false, 1 true

  • sortBy string

    Values are createdAt, updatedAt, or name. Default value is updatedAt.

  • isArchived number

    0 false, 1 true

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • total number Required
      • page number
      • perPage number
      • skip number
      • limit number
      • totalPages number Required
      • nextPage number | null Required
      • previousPage number | null Required
      • data array[object]
        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
            • logo string | null 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
            • logo string | null 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
        • dataUsedInBytes number Required
        • dataSourcesStatusCount object Required
    • statusCode number Required
    • timestamp string(date-time) Required
GET /case
curl \
 --request GET 'http://api.example.com/case' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "organization: string"
Response examples (200)
{
  "data": {
    "total": 42,
    "page": 1,
    "perPage": 20,
    "skip": 0,
    "limit": 20,
    "totalPages": 3,
    "nextPage": 2,
    "previousPage": 42.0,
    "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,
        "dataUsedInBytes": 52428800,
        "dataSourcesStatusCount": {
          "completed": 4,
          "in_progress": 1
        }
      }
    ]
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}