---
title: "Sync a workspace with its project branch"
method: POST
path: "/v1/spaces/{spaceId}/source/workspaces/{workspaceId}/sync"
tags: ["Git"]
---

# Sync a workspace with its project branch

`POST /v1/spaces/{spaceId}/source/workspaces/{workspaceId}/sync`

## Request

- Base URL: `https://api.spacefast.com`
- URL: `https://api.spacefast.com/v1/spaces/{spaceId}/source/workspaces/{workspaceId}/sync`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.spacefast.com/v1/auth/oauth2/authorize`, token URL `https://api.spacefast.com/v1/auth/oauth2/token`; client credentials, token URL `https://api.spacefast.com/v1/auth/oauth2/token`, scopes: `spaces:write`, `spaces:read`)

Replay staged and working changes onto the new project head. Preserve both layers. Keep the original snapshots until all conflicts are resolved.

## Path parameters

- `spaceId` string, required
- `workspaceId` string, required

## Request body

- object
  - `expectedRevision` integer, required: Revision from the last workspace response. Read the workspace again after a revision conflict.
  - `operationId` string, required: Unique ID for this operation. Reuse this ID and the same input after an uncertain response.

## Response `200`

Response for status 200

- object
  - `$schema` string, uri: Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.
  - `data` object, required
    - `workspace` object, required
      - `id` string, required
      - `spaceId` string, required
      - `repositoryId` string, required
      - `targetBranch` string, required
      - `name` string, required
      - `revision` integer, required
      - `state` 'initializing' | 'active' | 'conflicted' | 'closed', required
      - `baseCommitSha` string, nullable, required
      - `indexCommitSha` string, nullable, required
      - `workingCommitSha` string, nullable, required
      - `headCommitSha` string, nullable, required
      - `originalUploadVersionId` string, nullable, required
      - `hasStagedChanges` boolean, required
      - `hasUnstagedChanges` boolean, required
      - `hasPendingChanges` boolean, required
      - `needsSync` boolean, required
      - `pendingOperationId` string, nullable, required
      - `autoDeploy` boolean, required
      - `createdAt` string, required
      - `updatedAt` string, required
    - `commit` object
      - `sourceCommitSha` string, required
      - `parentSourceCommitSha` string, required
      - `message` string, required
      - `autoDeploy` boolean, required
    - `conflicts` object
      - `phase` 'staged' | 'working' | 'undo', required
      - `labels` object, required
        - `ours` string, required
        - `theirs` string, required
      - `files` object[], required
        - `path` string, required
        - `result` string, required
        - `base` object, required
          - `sourceCommitSha` string, required
          - `content` string, nullable, required
          - `exists` boolean, required
          - `binary` boolean, required
          - `truncated` boolean, required
          - `mode` string, nullable, required
        - `ours` object, required
          - `sourceCommitSha` string, required
          - `content` string, nullable, required
          - `exists` boolean, required
          - `binary` boolean, required
          - `truncated` boolean, required
          - `mode` string, nullable, required
        - `theirs` object, required
          - `sourceCommitSha` string, required
          - `content` string, nullable, required
          - `exists` boolean, required
          - `binary` boolean, required
          - `truncated` boolean, required
          - `mode` string, nullable, required

## Other responses

- `default`: Problem details (RFC 9457). Any 4xx/5xx response is one `application/problem+json` document.

---

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