---
title: "Send this computer's latest changes"
method: POST
path: "/v1/sync/push"
tags: ["Sync"]
---

# Send this computer's latest changes

`POST /v1/sync/push`

## Request

- Base URL: `https://api.uxduck.com`
- URL: `https://api.uxduck.com/v1/sync/push`
- Auth: HTTP bearer

Each change replaces the account's copy of its entity only if it wins: a higher version, or the higher digest at the same version. At most 500 changes and 4 MB a push; a change over 512 KB is refused and counted in refused.

## Request body

- object
  - `deviceId` string, required
  - `deviceName` string, required
  - `changes` object[], required
    - `entity` 'thread' | 'item' | 'folder' | 'place' | 'snapshot' | 'operator' | 'vehicle' | 'history' | 'plugin' | 'own-set' | 'link' | 'plan' | 'baseline' | 'flight' | 'operation' | 'dialect' | 'firmware-profile', required
    - `id` string, required
    - `version` integer, required
    - `digest` string, required
    - `tsUs` integer, required
    - `change` object, required

## Response `200`

How many were taken, lost to a newer copy, or refused

- object
  - `taken` integer, required
  - `skipped` integer, required
  - `refused` integer, required

## Other responses

- `400`: The push does not match its schema
- `401`: Not signed in
- `413`: The push is over 4 MB
- `503`: Accounts are not set up here

---

[API](https://skmtc.dev/uxduck/apis/uxduck-api.md) - [All operations](https://skmtc.dev/uxduck/apis/uxduck-api/llms.txt) - [OpenAPI document](https://skmtc.dev/uxduck/apis/uxduck-api/revisions/d594d81b2806?raw)
