---
title: "Sync Integration Project"
method: POST
path: "/projects/{project_id}/sync"
tags: ["Projects"]
---

# Sync Integration Project

`POST /projects/{project_id}/sync`

Sync new integration projects to Everhour.

Traditionally, project sync relied on background jobs which could delay access to Everhour functionality.

This endpoint allows instant synchronization of a project from a connected integration (like Trello, Asana, ClickUp, etc.) into Everhour.
Useful for automation flows where you want to start working with a project immediately after creating it in your external tool.

Safe to call multiple times — if the project already exists in Everhour, it simply returns it without creating duplicates.

**Workflow**

- Create a project in your external tool (Asana, Trello, etc.) and retrieve its ID.
- Sync it to Everhour using this endpoint in Everhour API.
- Proceed with other Everhour API actions — assign a budget, link a client, or set task estimates.

Supported platform codes:
as, b2, b3, bb, cl, gh, gl, in, li, mo, no, td, tw, tr, wr.

## Path parameters

- `project_id` string, required

## Response `200`

OK

- Project
  - `id` string, required
  - `name` string, required
  - `workspaceId` string, nullable
  - `workspaceName` string, nullable
  - `client` number, nullable — Client ID
  - `type` 'board' | 'list' — Project Type
  - `favorite` boolean
  - `users` number[], required — List of assigned user IDs
  - `billing` ProjectBillingBilling
    - `type` 'non_billable' | 'hourly' | 'fixed_fee', required — Project Type
    - `fee` number — Project fixed fee in cents
  - `rate` ProjectBillingRate
    - `type` 'project_rate' | 'user_rate', required — Project Type
    - `rate` number — Flat-rate in cents
    - `userRateOverrides` object — Override user rates
  - `budget` ProjectBillingBudget
    - `type` 'money' | 'time' | 'costs', required — Budget Type
    - `budget` number, required — Budget value in cents (for money) or seconds (for time)
    - `progress` number — Current budget usage in cents (for money) or seconds (for time)
    - `timeProgress` number — Budget progress belongs to time tracking
    - `expenseProgress` number — Budget progress belongs to expenses
    - `period` 'general' | 'monthly' | 'weekly' | 'daily' | 'quarterly' | 'yearly', required — Budget periodicity
    - `appliedFrom` string, nullable — Start budget from (available only for non-recurrent budgets)
    - `disallowOverbudget` boolean
    - `excludeUnbillableTime` boolean
    - `excludeExpenses` boolean
    - `showToUsers` boolean — Set true if all team members should see budget and its progress
    - `threshold` number — Email admins when threshold reached. Threshold is percentage 1 - 100.

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/everhour/apis/everhour-api.md) · [All operations](https://skmtc.net/everhour/apis/everhour-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/everhour/everhour-api/revisions/fc6136e33352/schema)
