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

# Memify

> Enrichment pipeline in Cognee, can work with already built graphs. If no data is provided existing knowledge graph will be used as data,
custom data can also be provided instead which can be processed with provided extraction and enrichment tasks.

Provided tasks and data will be arranged to run the Cognee pipeline and execute graph enrichment/creation.

## Request Parameters
- **extractionTasks** Optional[List[str]]: List of available Cognee Tasks to execute for graph/data extraction.
- **enrichmentTasks** Optional[List[str]]: List of available Cognee Tasks to handle enrichment of provided graph/data from extraction tasks.
- **data** Optional[List[str]]: The data to ingest. Can be any text data when custom extraction and enrichment tasks are used.
      Data provided here will be forwarded to the first extraction task in the pipeline as input.
      If no data is provided the whole graph (or subgraph if node_name/node_type is specified) will be forwarded
- **dataset_name** (Optional[str]): Name of the datasets to memify
- **dataset_id** (Optional[UUID]): List of UUIDs of an already existing dataset
- **node_name** (Optional[List[str]]):  Filter graph to specific named entities (for targeted search). Used when no data is provided.
- **run_in_background** (Optional[bool]): Whether to execute processing asynchronously. Defaults to False (blocking).

Either datasetName or datasetId must be provided.

## Response
Returns information about the add operation containing:
- Status of the operation
- Details about the processed data
- Any relevant metadata from the ingestion process

## Error Codes
- **400 Bad Request**: Neither datasetId nor datasetName provided
- **409 Conflict**: Error during memify operation
- **403 Forbidden**: User doesn't have permission to use dataset

## Notes
- To memify datasets not owned by the user, use dataset_id (when ENABLE_BACKEND_ACCESS_CONTROL is set to True)
- datasetId value can only be the UUID of an already existing dataset



## OpenAPI

````yaml /cognee_openapi_spec.json post /api/v1/memify
openapi: 3.1.0
info:
  title: Cognee API
  description: Cognee API with Bearer token and Cookie auth
  version: 1.0.0
servers:
  - url: https://api.cognee.ai
    description: Production server (full functionality)
  - url: http://localhost:8000
    description: Local development server (requires local setup)
security:
  - BearerAuth: []
  - ApiKeyAuth: []
tags:
  - name: activity
    description: ''
  - name: add
    description: Data ingestion endpoints for adding text, files, and structured data.
  - name: auth
    description: >-
      Authentication endpoints for user registration, login, and token
      management.
  - name: checks
    description: ''
  - name: cognify
    description: >-
      Knowledge processing endpoints to transform raw data into knowledge
      graphs.
  - name: configuration
    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: ''
  - name: health
    description: ''
  - name: improve
    description: ''
  - name: llm
    description: ''
  - name: memify
    description: ''
  - name: notebooks
    description: ''
  - name: ontologies
    description: ''
  - name: permissions
    description: Permission management for multi-user access control.
  - name: recall
    description: ''
  - name: remember
    description: ''
  - name: responses
    description: Response generation endpoints using the knowledge graph.
  - name: search
    description: Search endpoints for querying the knowledge graph.
  - name: sessions
    description: ''
  - name: settings
    description: Configuration endpoints for managing Cognee settings.
  - name: sync
    description: ''
  - name: update
    description: ''
  - name: users
    description: User management endpoints.
  - name: visualize
    description: Graph visualization endpoints.
paths:
  /api/v1/memify:
    post:
      tags:
        - memify
      summary: Memify
      description: >-
        Enrichment pipeline in Cognee, can work with already built graphs. If no
        data is provided existing knowledge graph will be used as data,

        custom data can also be provided instead which can be processed with
        provided extraction and enrichment tasks.


        Provided tasks and data will be arranged to run the Cognee pipeline and
        execute graph enrichment/creation.


        ## Request Parameters

        - **extractionTasks** Optional[List[str]]: List of available Cognee
        Tasks to execute for graph/data extraction.

        - **enrichmentTasks** Optional[List[str]]: List of available Cognee
        Tasks to handle enrichment of provided graph/data from extraction tasks.

        - **data** Optional[List[str]]: The data to ingest. Can be any text data
        when custom extraction and enrichment tasks are used.
              Data provided here will be forwarded to the first extraction task in the pipeline as input.
              If no data is provided the whole graph (or subgraph if node_name/node_type is specified) will be forwarded
        - **dataset_name** (Optional[str]): Name of the datasets to memify

        - **dataset_id** (Optional[UUID]): List of UUIDs of an already existing
        dataset

        - **node_name** (Optional[List[str]]):  Filter graph to specific named
        entities (for targeted search). Used when no data is provided.

        - **run_in_background** (Optional[bool]): Whether to execute processing
        asynchronously. Defaults to False (blocking).


        Either datasetName or datasetId must be provided.


        ## Response

        Returns information about the add operation containing:

        - Status of the operation

        - Details about the processed data

        - Any relevant metadata from the ingestion process


        ## Error Codes

        - **400 Bad Request**: Neither datasetId nor datasetName provided

        - **409 Conflict**: Error during memify operation

        - **403 Forbidden**: User doesn't have permission to use dataset


        ## Notes

        - To memify datasets not owned by the user, use dataset_id (when
        ENABLE_BACKEND_ACCESS_CONTROL is set to True)

        - datasetId value can only be the UUID of an already existing dataset
      operationId: memify_api_v1_memify_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MemifyPayloadDTO'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Memify Api V1 Memify Post
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      security:
        - BearerAuth: []
        - ApiKeyAuth: []
components:
  schemas:
    MemifyPayloadDTO:
      properties:
        extractionTasks:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Extractiontasks
          examples:
            - []
        enrichmentTasks:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Enrichmenttasks
          examples:
            - []
        data:
          anyOf:
            - type: string
            - type: 'null'
          title: Data
          default: ''
        datasetName:
          anyOf:
            - type: string
            - type: 'null'
          title: Datasetname
        datasetId:
          anyOf:
            - type: string
              format: uuid
            - type: string
              const: ''
            - type: 'null'
          title: Datasetid
          examples:
            - ''
        nodeName:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Nodename
          examples:
            - []
        runInBackground:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Runinbackground
          default: false
      type: object
      title: MemifyPayloadDTO
    ErrorResponse:
      properties:
        error:
          type: string
          title: Error
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      required:
        - error
      title: ErrorResponse
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

````