---
title: "Patch Main Project"
method: PATCH
path: "/v1/project/{project_id}/"
tags: ["Projects"]
---

# Patch Main Project

`PATCH /v1/project/{project_id}/`

Update main project details.

A project owner can update all relevant project details, including default name, address and other project related details.

This endpoint will ignore any fields that are empty; only fields with values will be updated.

## Path parameters

- `project_id` integer, required

## Request body

- MainProjectPatchModel — Optional elements to update a project's core data fields.
  - `name` string, nullable — The name of the project.
  - `address` string, nullable — The address of the project site.
  - `city` string, nullable — The city of the project site.
  - `country` string, nullable — The country of the project site.
  - `timezone` string, nullable — The timezone associated with the project site.
  - `phone` string, nullable — The main phone number associated with the project site.
  - `longitude` number, nullable — The longitude of the project site.
  - `latitude` number, nullable — The latitude of the project site.
  - `musterPoint` string, nullable — The muster point for the project site.
  - `isPrivate` boolean, nullable — Indicates that a project is private.
  - `geoCheckInEnabled` boolean, nullable — Enable or disable having workers get automatically checked in and out of the site based on their location

## Response `200`

Successful Response

- ApiGenericResponseMainProjectDetailModel
  - `error` boolean — A boolean error indicator.
  - `message` string, nullable — Optional message.
  - `data` MainProjectDetailModel — A complete main project model that encapsulate all relevant details associated with the project entity.
    - `id` integer, nullable — Unique internal project identifier.
    - `name` string, nullable — The project name.
    - `address` string, nullable — The address of the project site.
    - `city` string, nullable — The city of the project site.
    - `country` string, nullable — The country of the project site.
    - `timezone` string, nullable — The timezone associated with the project site.
    - `phone` string, nullable — The main phone number associated with the project site.
    - `longitude` number, nullable — The longitude of the project site.
    - `latitude` number, nullable — The latitude of the project site.
    - `siteCode` integer, nullable — Unique 5 digit site code generated by the system.
    - `musterPoint` string, nullable — The muster point for the project site.
    - `isPrivate` boolean, nullable — Indicates that a project is private.
    - `geoCheckInEnabled` boolean — Enable or disable having workers get automatically checked in and out of the site based on their location
    - `updatedAt` string, date-time, nullable — The time stamp of the last time the field was updated.
    - `createdAt` string, date-time, nullable — The time stamp when the record was created.

## Other responses

- `400` — Business Logic Error
- `403` — Permission Error
- `409` — Integrity Error or Data Conflict
- `422` — Validation Error

---

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