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

# Update

> Update data in a dataset.

This endpoint updates existing documents in a specified dataset by providing the data_id of the existing document
to update and the new document with the changes as the data.
The document is updated, analyzed, and the changes are integrated into the knowledge graph.

## Request Parameters
- **data_id** (UUID): UUID of the document to update in Cognee memory
- **data** (List[UploadFile]): List of files to upload.
- **datasetId** (Optional[UUID]): UUID of an already existing dataset
- **node_set** Optional[list[str]]: List of node identifiers for graph organization and access control.
         Used for grouping related data points in the knowledge graph.

## 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 add operation
- **403 Forbidden**: User doesn't have permission to add to dataset

## Notes
- To add data to 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 patch /api/v1/update
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/update:
    patch:
      tags:
        - update
      summary: Update
      description: >-
        Update data in a dataset.


        This endpoint updates existing documents in a specified dataset by
        providing the data_id of the existing document

        to update and the new document with the changes as the data.

        The document is updated, analyzed, and the changes are integrated into
        the knowledge graph.


        ## Request Parameters

        - **data_id** (UUID): UUID of the document to update in Cognee memory

        - **data** (List[UploadFile]): List of files to upload.

        - **datasetId** (Optional[UUID]): UUID of an already existing dataset

        - **node_set** Optional[list[str]]: List of node identifiers for graph
        organization and access control.
                 Used for grouping related data points in the knowledge graph.

        ## 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 add operation

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


        ## Notes

        - To add data to 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: update_api_v1_update_patch
      parameters:
        - name: data_id
          in: query
          required: true
          schema:
            type: string
            format: uuid
            title: Data Id
        - name: dataset_id
          in: query
          required: true
          schema:
            type: string
            format: uuid
            title: Dataset Id
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_update_api_v1_update_patch'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '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:
    Body_update_api_v1_update_patch:
      properties:
        data:
          items:
            type: string
            format: binary
          type: array
          title: Data
        node_set:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Node Set
          default:
            - ''
      type: object
      title: Body_update_api_v1_update_patch
    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

````