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

# Sync To Cloud

> Sync local data to Cognee Cloud.

This endpoint triggers synchronization of local Cognee data to your cloud instance.
It uploads your local datasets, knowledge graphs, and processed data to the cloud
for backup, sharing, or cloud-based processing.

## Request Body (JSON)
```json
{
    "dataset_ids": ["123e4567-e89b-12d3-a456-426614174000", "456e7890-e12b-34c5-d678-901234567000"]
}
```

## Response
Returns immediate response for the sync operation:
- **run_id**: Unique identifier for tracking the background sync operation
- **status**: Always "started" (operation runs in background)
- **dataset_ids**: List of dataset IDs being synced
- **dataset_names**: List of dataset names being synced
- **message**: Description of the background operation
- **timestamp**: When the sync was initiated
- **user_id**: User who initiated the sync

## Cloud Sync Features
- **Automatic Authentication**: Uses your Cognee Cloud credentials
- **Data Compression**: Optimizes transfer size for faster uploads
- **Smart Sync**: Automatically handles data updates efficiently
- **Progress Tracking**: Monitor sync status with sync_id
- **Error Recovery**: Automatic retry for failed transfers
- **Data Validation**: Ensures data integrity during transfer

## Example Usage
```bash
# Sync multiple datasets to cloud by IDs (JSON request)
curl -X POST "http://localhost:8000/api/v1/sync" \
  -H "Content-Type: application/json" \
  -H "Cookie: auth_token=your-token" \
  -d '{"dataset_ids": ["123e4567-e89b-12d3-a456-426614174000", "456e7890-e12b-34c5-d678-901234567000"]}'

# Sync all user datasets (empty request body or null dataset_ids)
curl -X POST "http://localhost:8000/api/v1/sync" \
  -H "Content-Type: application/json" \
  -H "Cookie: auth_token=your-token" \
  -d '{}'
```

## Error Codes
- **400 Bad Request**: Invalid dataset_ids format
- **401 Unauthorized**: Invalid or missing authentication
- **403 Forbidden**: User doesn't have permission to access dataset
- **404 Not Found**: Dataset not found
- **409 Conflict**: Sync operation conflict or cloud service unavailable
- **413 Payload Too Large**: Dataset too large for current cloud plan
- **429 Too Many Requests**: Rate limit exceeded

## Notes
- Sync operations run in the background - you get an immediate response
- Use the returned run_id to track progress (status API coming soon)
- Large datasets are automatically chunked for efficient transfer
- Cloud storage usage counts against your plan limits
- The sync will continue even if you close your connection



## OpenAPI

````yaml /cognee_openapi_spec.json post /api/v1/sync
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: 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/sync:
    post:
      tags:
        - sync
      summary: Sync To Cloud
      description: >-
        Sync local data to Cognee Cloud.


        This endpoint triggers synchronization of local Cognee data to your
        cloud instance.

        It uploads your local datasets, knowledge graphs, and processed data to
        the cloud

        for backup, sharing, or cloud-based processing.


        ## Request Body (JSON)

        ```json

        {
            "dataset_ids": ["123e4567-e89b-12d3-a456-426614174000", "456e7890-e12b-34c5-d678-901234567000"]
        }

        ```


        ## Response

        Returns immediate response for the sync operation:

        - **run_id**: Unique identifier for tracking the background sync
        operation

        - **status**: Always "started" (operation runs in background)

        - **dataset_ids**: List of dataset IDs being synced

        - **dataset_names**: List of dataset names being synced

        - **message**: Description of the background operation

        - **timestamp**: When the sync was initiated

        - **user_id**: User who initiated the sync


        ## Cloud Sync Features

        - **Automatic Authentication**: Uses your Cognee Cloud credentials

        - **Data Compression**: Optimizes transfer size for faster uploads

        - **Smart Sync**: Automatically handles data updates efficiently

        - **Progress Tracking**: Monitor sync status with sync_id

        - **Error Recovery**: Automatic retry for failed transfers

        - **Data Validation**: Ensures data integrity during transfer


        ## Example Usage

        ```bash

        # Sync multiple datasets to cloud by IDs (JSON request)

        curl -X POST "http://localhost:8000/api/v1/sync" \
          -H "Content-Type: application/json" \
          -H "Cookie: auth_token=your-token" \
          -d '{"dataset_ids": ["123e4567-e89b-12d3-a456-426614174000", "456e7890-e12b-34c5-d678-901234567000"]}'

        # Sync all user datasets (empty request body or null dataset_ids)

        curl -X POST "http://localhost:8000/api/v1/sync" \
          -H "Content-Type: application/json" \
          -H "Cookie: auth_token=your-token" \
          -d '{}'
        ```


        ## Error Codes

        - **400 Bad Request**: Invalid dataset_ids format

        - **401 Unauthorized**: Invalid or missing authentication

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

        - **404 Not Found**: Dataset not found

        - **409 Conflict**: Sync operation conflict or cloud service unavailable

        - **413 Payload Too Large**: Dataset too large for current cloud plan

        - **429 Too Many Requests**: Rate limit exceeded


        ## Notes

        - Sync operations run in the background - you get an immediate response

        - Use the returned run_id to track progress (status API coming soon)

        - Large datasets are automatically chunked for efficient transfer

        - Cloud storage usage counts against your plan limits

        - The sync will continue even if you close your connection
      operationId: sync_to_cloud_api_v1_sync_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyncRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties:
                  $ref: '#/components/schemas/SyncResponse'
                type: object
                title: Response Sync To Cloud Api V1 Sync Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - BearerAuth: []
        - ApiKeyAuth: []
components:
  schemas:
    SyncRequest:
      properties:
        datasetIds:
          anyOf:
            - items:
                type: string
                format: uuid
              type: array
            - type: 'null'
          title: Datasetids
      type: object
      title: SyncRequest
      description: Request model for sync operations.
    SyncResponse:
      properties:
        run_id:
          type: string
          title: Run Id
        status:
          type: string
          title: Status
        dataset_ids:
          items:
            type: string
          type: array
          title: Dataset Ids
        dataset_names:
          items:
            type: string
          type: array
          title: Dataset Names
        message:
          type: string
          title: Message
        timestamp:
          type: string
          title: Timestamp
        user_id:
          type: string
          title: User Id
      type: object
      required:
        - run_id
        - status
        - dataset_ids
        - dataset_names
        - message
        - timestamp
        - user_id
      title: SyncResponse
      description: Response model for sync operations.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    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

````