> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cognee.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Import History

> Fetch and index the selection; returns only after native indexing succeeds.

This is a long-running request. For interactive use, the Slack import
dialog acknowledges immediately and reports its background result.

## Path Parameters
- **team_id** (str): Slack workspace (team) id of the connected installation to read
  history from. Only the owner of an active connection for it may import. An import
  already running in this process for this workspace and the same dataset is
  rejected with 400.

## Request Parameters
- **channel_ids** (List[str]): Slack channel ids (C… or G…) to import; names and DMs
  are rejected and duplicates dropped. Channel imports also require days or an
  oldest date, and at least one channel or thread must be selected. At most 50
  items.
- **dataset_id** (UUID): UUID of the dataset (from GET /api/v1/datasets).
- **days** (Optional[int]): Size of the window ending now, used instead of explicit
  dates; passing it together with oldest or latest is rejected. Must be between 1
  and 3650.
- **latest** (Optional[datetime]): End of the date window; must be timezone-aware,
  later than oldest and no later than now, and cannot be combined with days.
  Omitted, the window ends at the time of the request.
- **max_messages** (int): Cap on the messages fetched for this selection. Exceeding
  the cap fails the import with 400 rather than storing a truncated snapshot. Must be
  between 1 and 500000. Defaults to 50000.
- **max_requests** (int): Cap on the Slack API requests this import may issue,
  retries included. Exceeding the cap fails the import with 400 rather than storing a
  truncated snapshot. Must be between 1 and 10000. Defaults to 1000.
- **oldest** (Optional[datetime]): Start of the date window; must be timezone-aware
  and precede latest, and cannot be combined with days. Channel selections require
  it when days is not given.
- **thread_links** (List[str]): Slack message permalinks
  (https://\<workspace>.slack.com/archives/…) selecting whole conversations
  regardless of the date window; duplicates are dropped and links that cannot be
  parsed are rejected. At most 50 items.
- **thread_mode** (Literal['started', 'active']): 'started' selects threads whose
  root message falls in the window; 'active' scans the channel's whole history up to
  latest and selects threads with any message in the window. Every page scanned
  counts toward max_messages and max_requests, so 'active' on a large channel can
  exceed them. Neither acts as a retention policy. One of: 'started', 'active'.
  Defaults to 'started'.
- **threads** (List[SlackThread]): Threads named directly by channel id and root
  timestamp, as an alternative to thread_links; each selected thread is imported
  with all available replies. At most 50 items.



## OpenAPI

````yaml /cognee_openapi_spec.json post /api/v1/slack/history/{team_id}/import
openapi: 3.1.0
info:
  title: Cognee API
  description: Cognee API with Bearer token and Cookie auth
  version: 1.0.0
servers:
  - url: https://{tenant}.aws.cognee.ai
    description: 'Cognee Cloud: your tenant pod, named in the platform.cognee.ai dashboard'
    variables:
      tenant:
        default: your-tenant
        description: Your tenant name, shown in the Cognee Cloud dashboard
  - url: http://localhost:8000
    description: 'Self-hosted: a locally running cognee server'
security:
  - BearerAuth: []
  - ApiKeyAuth: []
tags:
  - name: activity
    description: >-
      Activity endpoints for inspecting pipeline runs, traced spans, tenant
      users, agents, and dataset exports.
  - name: add
    description: Data ingestion endpoints for adding text, files, and structured data.
  - name: agent connections
    description: >-
      Endpoints for registering, unregistering, and inspecting agent connections
      to the instance.
  - name: agent management
    description: Endpoints for creating, listing, retrieving, and deleting agents.
  - name: auth
    description: >-
      Authentication endpoints for user registration, login, and token
      management.
  - name: checks
    description: >-
      Diagnostic endpoint for validating a Cognee Cloud API key supplied in the
      X-Api-Key header.
  - name: cognify
    description: >-
      Knowledge processing endpoints to transform raw data into knowledge
      graphs.
  - name: configuration
    description: >-
      Endpoints for storing, retrieving, and listing a user's saved
      configurations.
  - name: conflicts
    description: ''
  - name: datasets
    description: Dataset management endpoints for listing, creating, and deleting datasets.
  - name: delete
    description: Data deletion endpoints (deprecated — use datasets endpoints instead).
  - name: forget
    description: Endpoint for removing data from the knowledge graph.
  - name: health
    description: Liveness, readiness, and component health checks.
  - name: improve
    description: Endpoint for enriching and improving an existing knowledge graph.
  - name: integrations
    description: >-
      Endpoints for connecting, provisioning, and disconnecting OAuth providers
      and plugins.
  - name: llm
    description: >-
      LLM-backed endpoints for inferring graph schemas and generating custom
      extraction prompts.
  - name: memify
    description: >-
      Endpoint for running enrichment pipelines over existing graphs or supplied
      data.
  - name: ontologies
    description: >-
      Endpoints for uploading, listing, and deleting ontology files used during
      cognify.
  - name: permissions
    description: Permission management for multi-user access control.
  - name: recall
    description: >-
      Endpoints for querying the knowledge graph and reviewing past recall
      history.
  - name: remember
    description: >-
      Endpoints for ingesting data into the knowledge graph and storing session
      memory entries.
  - name: responses
    description: Response generation endpoints using the knowledge graph.
  - name: schema
    description: >-
      Schema inspection endpoints for a dataset's derived schema inventory and
      the caller-wide memory provenance graph.
  - name: search
    description: Search endpoints for querying the knowledge graph.
  - name: sessions
    description: >-
      Endpoints for listing sessions and reporting usage, cost, and token
      statistics.
  - name: settings
    description: Configuration endpoints for managing Cognee settings.
  - name: skills
    description: >-
      Skill management endpoints for ingesting, listing, retrieving, and
      deleting dataset skills, plus read-only retrieval of improvement
      proposals.
  - name: slack
    description: >-
      Endpoints for listing workspace channels, setting channel allowlists, and
      linking Slack accounts.
  - name: sync
    description: Endpoints for syncing local data to Cognee Cloud and checking sync status.
  - name: update
    description: Endpoint for updating existing data in a dataset.
  - name: users
    description: User management endpoints.
  - name: validate
    description: >-
      Diagnostic endpoint for checking consistency between a dataset's graph and
      vector stores.
  - name: visualize
    description: Graph visualization endpoints.
paths:
  /api/v1/slack/history/{team_id}/import:
    post:
      tags:
        - slack
      summary: Import History
      description: >-
        Fetch and index the selection; returns only after native indexing
        succeeds.


        This is a long-running request. For interactive use, the Slack import

        dialog acknowledges immediately and reports its background result.


        ## Path Parameters

        - **team_id** (str): Slack workspace (team) id of the connected
        installation to read
          history from. Only the owner of an active connection for it may import. An import
          already running in this process for this workspace and the same dataset is
          rejected with 400.

        ## Request Parameters

        - **channel_ids** (List[str]): Slack channel ids (C… or G…) to import;
        names and DMs
          are rejected and duplicates dropped. Channel imports also require days or an
          oldest date, and at least one channel or thread must be selected. At most 50
          items.
        - **dataset_id** (UUID): UUID of the dataset (from GET
        /api/v1/datasets).

        - **days** (Optional[int]): Size of the window ending now, used instead
        of explicit
          dates; passing it together with oldest or latest is rejected. Must be between 1
          and 3650.
        - **latest** (Optional[datetime]): End of the date window; must be
        timezone-aware,
          later than oldest and no later than now, and cannot be combined with days.
          Omitted, the window ends at the time of the request.
        - **max_messages** (int): Cap on the messages fetched for this
        selection. Exceeding
          the cap fails the import with 400 rather than storing a truncated snapshot. Must be
          between 1 and 500000. Defaults to 50000.
        - **max_requests** (int): Cap on the Slack API requests this import may
        issue,
          retries included. Exceeding the cap fails the import with 400 rather than storing a
          truncated snapshot. Must be between 1 and 10000. Defaults to 1000.
        - **oldest** (Optional[datetime]): Start of the date window; must be
        timezone-aware
          and precede latest, and cannot be combined with days. Channel selections require
          it when days is not given.
        - **thread_links** (List[str]): Slack message permalinks
          (https://\<workspace>.slack.com/archives/…) selecting whole conversations
          regardless of the date window; duplicates are dropped and links that cannot be
          parsed are rejected. At most 50 items.
        - **thread_mode** (Literal['started', 'active']): 'started' selects
        threads whose
          root message falls in the window; 'active' scans the channel's whole history up to
          latest and selects threads with any message in the window. Every page scanned
          counts toward max_messages and max_requests, so 'active' on a large channel can
          exceed them. Neither acts as a retention policy. One of: 'started', 'active'.
          Defaults to 'started'.
        - **threads** (List[SlackThread]): Threads named directly by channel id
        and root
          timestamp, as an alternative to thread_links; each selected thread is imported
          with all available replies. At most 50 items.
      operationId: import_history_api_v1_slack_history__team_id__import_post
      parameters:
        - name: team_id
          in: path
          required: true
          schema:
            type: string
            title: Team Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackHistoryRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackHistoryResult'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - BearerAuth: []
        - ApiKeyAuth: []
components:
  schemas:
    SlackHistoryRequest:
      properties:
        dataset_id:
          type: string
          format: uuid
          title: Dataset Id
        channel_ids:
          items:
            type: string
          type: array
          maxItems: 50
          title: Channel Ids
        thread_links:
          items:
            type: string
          type: array
          maxItems: 50
          title: Thread Links
        threads:
          items:
            $ref: '#/components/schemas/SlackThread'
          type: array
          maxItems: 50
          title: Threads
        days:
          anyOf:
            - type: integer
              maximum: 3650
              minimum: 1
            - type: 'null'
          title: Days
        oldest:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Oldest
        latest:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Latest
        thread_mode:
          type: string
          enum:
            - started
            - active
          title: Thread Mode
          default: started
        max_requests:
          type: integer
          maximum: 10000
          minimum: 1
          title: Max Requests
          default: 1000
        max_messages:
          type: integer
          maximum: 500000
          minimum: 1
          title: Max Messages
          default: 50000
      additionalProperties: false
      type: object
      required:
        - dataset_id
      title: SlackHistoryRequest
      description: >-
        Date bounds select conversations; selected threads include all available
        replies.


        ``started`` selects roots in the window. ``active`` also scans older
        roots

        and selects threads with a message in the window. Neither is a retention

        policy. Explicit thread links select entire conversations independently

        of the date window. All bounds are timezone-aware.
    SlackHistoryResult:
      properties:
        dataset_id:
          type: string
          format: uuid
          title: Dataset Id
        conversations:
          type: integer
          title: Conversations
          default: 0
        messages:
          type: integer
          title: Messages
          default: 0
        added:
          type: integer
          title: Added
          default: 0
        updated:
          type: integer
          title: Updated
          default: 0
        unchanged:
          type: integer
          title: Unchanged
          default: 0
        deleted:
          type: integer
          title: Deleted
          default: 0
        status:
          type: string
          const: completed
          title: Status
          default: completed
      type: object
      required:
        - dataset_id
      title: SlackHistoryResult
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    SlackThread:
      properties:
        channel_id:
          type: string
          pattern: ^[CG][A-Z0-9]+$
          title: Channel Id
        ts:
          type: string
          pattern: ^\d{10,}\.\d{6}$
          title: Ts
      additionalProperties: false
      type: object
      required:
        - channel_id
        - ts
      title: SlackThread
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.