---
title: "GET /api/v1/two-way-sync/{spaceId}/files"
method: GET
path: "/api/v1/two-way-sync/{spaceId}/files"
---

# GET /api/v1/two-way-sync/{spaceId}/files

`GET /api/v1/two-way-sync/{spaceId}/files`

## Request

- Base URL: `https://falconer.com` (the document declares no server; this is the origin it was published from)
- URL: `https://falconer.com/api/v1/two-way-sync/{spaceId}/files`
- Auth: none declared

## Path parameters

- `spaceId` integer, required: Space id, from GET /spaces.

## Query parameters

- `status` TwoWaySyncFileStatus[]: Only these statuses; repeat or comma-separate.
- `prefix` string: Only paths under this prefix.
- `path` string[]: Only these paths; repeat for several.
- `includeInSync` 'true' | 'false': Include files with no changes.
- `limit` integer
- `cursor` string: nextCursor from the previous page.

## Headers

- `x-organization-id` string: Required when using OAuth bearer tokens.

## Response `200`

Sync status of the files under the sync root, by path.

- TwoWaySyncStatus
  - `spaceId` integer, required
  - `folderId` integer, required: The Space root folder's ID, for /nav and /folders.
  - `repository` string, required
  - `branch` string, required
  - `basePath` string, required
  - `mergeStrategy` 'direct_commit' | 'review_request' | 'pull_request', required
  - `counts` object, required
    - `in_sync` integer
    - `modified` integer
    - `added` integer
    - `conflict` integer
    - `remote_deleted` integer
    - `pending_delete` integer
    - `pending_rename` integer
    - `in_review` integer
    - `open_pr` integer
  - `lastSyncFailure` object, nullable, required
    - `reason` string, required
    - `failedAt` string, required
    - `neverImported` boolean, required
  - `data` TwoWaySyncFileEntry[], required
    - `path` string, required: Path relative to the sync root.
    - `repoPath` string, required: Path in the repository.
    - `fileNodeId` string, nullable, required
    - `kind` 'markdown' | 'text' | 'config' | 'opaque', required
    - `documentId` string, nullable, required
    - `title` string, nullable, required
    - `status` 'in_sync' | 'modified' | 'added' | 'conflict' | 'remote_deleted' | 'pending_delete' | 'pending_rename' | 'in_review' | 'open_pr', required
    - `fromPath` string, nullable, required: Previous path of a file renamed since the last push.
    - `conflictId` string, nullable, required
    - `review` object, nullable, required
      - `state` 'awaiting' | 'approved' | 'changes_requested', required
      - `reviewerCount` integer, required
      - `isCurrentUserReviewer` boolean, required
    - `hasPendingSuggestions` boolean, required: Un-accepted suggestions block a push until resolved.
    - `canPush` boolean, required: Whether you can push this change now.
  - `nextCursor` string

## Other responses

- `400`: Bad request, or a folder that is not the sync root
- `403`: Permission is missing
- `404`: Folder not synced, or file not found

---

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