---
title: "Initialize cloud sync with credentials"
method: POST
path: "/sync/init"
tags: ["Cloud Sync"]
---

# Initialize cloud sync with credentials

`POST /sync/init`

## Request body

- SyncInitRequest
  - `token` string, required — API token for cloud authentication
  - `password` string, required — Password for encryption key derivation
  - `machine_id` string, nullable — Machine ID for this device (optional, will be generated if not provided)
  - `sync_interval_secs` integer, nullable — Sync interval in seconds (optional, defaults to 300)

## Response `200`

Sync initialized

- SyncInitResponse
  - `success` boolean, required
  - `is_new_user` boolean, required
  - `machine_id` string, required

## Other responses

- `409` — Sync already initialized

## Changes

- **2026-02-16** `e143bf8d73bc` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/screenpipe/apis/screenpipe-api/changes/sync/init/post.md)

---

[API](https://skmtc.dev/screenpipe/apis/screenpipe-api.md) · [All operations](https://skmtc.dev/screenpipe/apis/screenpipe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/screenpipe/screenpipe-api/revisions/e143bf8d73bc/schema)
