---
title: "PUT /spaces/{spaceId}/projects/{projectId}"
method: PUT
path: "/spaces/{spaceId}/projects/{projectId}"
tags: ["slash-project"]
---

# PUT /spaces/{spaceId}/projects/{projectId}

`PUT /spaces/{spaceId}/projects/{projectId}`

## Path parameters

- `projectId` integer, required
- `spaceId` integer, required

## Request body

- ProjectDto
  - `tenantId` integer
  - `spaceId` integer
  - `projectId` integer
  - `contact` ContactDto
    - `tenantId` integer
    - `contactId` integer
    - `contactName` string
    - `email` string
    - `phone` ContactProperties
      - `countryCode` string
      - `number` string
      - `countryName` string
    - `mobile` ContactProperties
      - `countryCode` string
      - `number` string
      - `countryName` string
    - `address` string
    - `city` string
    - `country` string
    - `state` string
    - `zipCode` string
    - `website` string
    - `profilePicURL` string
    - `profilePicName` string
    - `profilePicColor` string
    - `createdBy` UserMinimalDto
      - `userId` integer
      - `firstName` string
      - `email` string
      - `profilePicURL` string
      - `profilePicColor` string
      - `provider` string
      - `role` OrgRoleDto
        - `orgRoleId` integer
        - `roleName` string
    - `modifiedBy` UserMinimalDto
      - `userId` integer
      - `firstName` string
      - `email` string
      - `profilePicURL` string
      - `profilePicColor` string
      - `provider` string
      - `role` OrgRoleDto
        - `orgRoleId` integer
        - `roleName` string
    - `createdTime` string, date-time
    - `modifiedTime` string, date-time
    - `account` AccountLabelDto
      - `accountId` integer
      - `accountName` string
      - `email` string
      - `profilePicUrl` string
      - `profilePicName` string
      - `profilePicColor` string
    - `contactTags` ContactTagDto[]
      - `tenantId` integer
      - `contactTagId` integer
      - `tagName` string
      - `color` string
      - `createdBy` UserMinimalDto
        - `userId` integer
        - `firstName` string
        - `email` string
        - `profilePicURL` string
        - `profilePicColor` string
        - `provider` string
        - `role` OrgRoleDto
          - `orgRoleId` integer
          - `roleName` string
      - `modifiedBy` UserMinimalDto
        - `userId` integer
        - `firstName` string
        - `email` string
        - `profilePicURL` string
        - `profilePicColor` string
        - `provider` string
        - `role` OrgRoleDto
          - `orgRoleId` integer
          - `roleName` string
      - `createdTime` string, date-time
      - `modifiedTime` string, date-time
    - `projectCount` integer
  - `projectName` string
  - `description` string
  - `startDate` string, date-time
  - `dueDate` string, date-time
  - `completion` integer
  - `deleted` boolean
  - `createdTime` string, date-time
  - `modifiedTime` string, date-time
  - `deletedTime` string, date-time
  - `completedTime` string, date-time
  - `createdBy` UserMinimalDto
    - `userId` integer
    - `firstName` string
    - `email` string
    - `profilePicURL` string
    - `profilePicColor` string
    - `provider` string
    - `role` OrgRoleDto
      - `orgRoleId` integer
      - `roleName` string
  - `modifiedBy` UserMinimalDto
    - `userId` integer
    - `firstName` string
    - `email` string
    - `profilePicURL` string
    - `profilePicColor` string
    - `provider` string
    - `role` OrgRoleDto
      - `orgRoleId` integer
      - `roleName` string
  - `deletedBy` UserMinimalDto
    - `userId` integer
    - `firstName` string
    - `email` string
    - `profilePicURL` string
    - `profilePicColor` string
    - `provider` string
    - `role` OrgRoleDto
      - `orgRoleId` integer
      - `roleName` string
  - `projectStatus` ProjectStatusDto
    - `tenantId` integer
    - `projectStatusId` integer
    - `projectStatusName` string
    - `color` string
    - `projectStatusCategory` string
    - `createdTime` string, date-time
    - `modifiedTime` string, date-time
    - `createdBy` UserMinimalDto
      - `userId` integer
      - `firstName` string
      - `email` string
      - `profilePicURL` string
      - `profilePicColor` string
      - `provider` string
      - `role` OrgRoleDto
        - `orgRoleId` integer
        - `roleName` string
    - `modifiedBy` UserMinimalDto
      - `userId` integer
      - `firstName` string
      - `email` string
      - `profilePicURL` string
      - `profilePicColor` string
      - `provider` string
      - `role` OrgRoleDto
        - `orgRoleId` integer
        - `roleName` string
    - `default` boolean
  - `projectPriority` ProjectPriorityDto
    - `tenantId` integer
    - `projectPriorityId` integer
    - `priorityLabel` string
    - `color` string
    - `createdBy` UserMinimalDto
      - `userId` integer
      - `firstName` string
      - `email` string
      - `profilePicURL` string
      - `profilePicColor` string
      - `provider` string
      - `role` OrgRoleDto
        - `orgRoleId` integer
        - `roleName` string
    - `modifiedBy` UserMinimalDto
      - `userId` integer
      - `firstName` string
      - `email` string
      - `profilePicURL` string
      - `profilePicColor` string
      - `provider` string
      - `role` OrgRoleDto
        - `orgRoleId` integer
        - `roleName` string
    - `default` boolean
    - `primary` boolean
  - `projectHealth` ProjectHealthDto
    - `tenantId` integer
    - `projectHealthId` integer
    - `healthLabel` string
    - `color` string
    - `createdBy` UserMinimalDto
      - `userId` integer
      - `firstName` string
      - `email` string
      - `profilePicURL` string
      - `profilePicColor` string
      - `provider` string
      - `role` OrgRoleDto
        - `orgRoleId` integer
        - `roleName` string
    - `modifiedBy` UserMinimalDto
      - `userId` integer
      - `firstName` string
      - `email` string
      - `profilePicURL` string
      - `profilePicColor` string
      - `provider` string
      - `role` OrgRoleDto
        - `orgRoleId` integer
        - `roleName` string
    - `default` boolean
    - `primary` boolean
  - `projectTags` TagDto[]
    - `tenantId` integer
    - `tagId` integer
    - `tagName` string
    - `color` string
    - `createdBy` UserMinimalDto
      - `userId` integer
      - `firstName` string
      - `email` string
      - `profilePicURL` string
      - `profilePicColor` string
      - `provider` string
      - `role` OrgRoleDto
        - `orgRoleId` integer
        - `roleName` string
    - `modifiedBy` UserMinimalDto
      - `userId` integer
      - `firstName` string
      - `email` string
      - `profilePicURL` string
      - `profilePicColor` string
      - `provider` string
      - `role` OrgRoleDto
        - `orgRoleId` integer
        - `roleName` string
    - `createdTime` string, date-time
    - `modifiedTime` string, date-time
    - `taskCount` integer
    - `projectCount` integer
  - `projectMembers` ProjectMemberDto[]
    - `projectMemberId` integer
    - `projectId` integer
    - `user` UserMinimalDto
      - `userId` integer
      - `firstName` string
      - `email` string
      - `profilePicURL` string
      - `profilePicColor` string
      - `provider` string
      - `role` OrgRoleDto
        - `orgRoleId` integer
        - `roleName` string
    - `invitedBy` InvitedUserDto
      - `userId` integer
      - `firstName` string
      - `email` string
    - `role` ProjectRoleDto
      - `projectRoleId` integer
      - `projectRoleName` string
    - `guestLevelAccess` string
  - `projectMail` string
  - `spaceName` string
  - `actualStartDate` string, date-time
  - `actualEndDate` string, date-time
  - `allocatedBudget` number, double
  - `billableCost` number, double
  - `nonBillableCost` number, double
  - `actualCost` number, double
  - `projectType` 'FIXED_FEE' | 'TIME_AND_MATERIAL' | 'RETAINER'
  - `contractValue` number, double
  - `alertThresholdPercent` integer
  - `nteCapHours` integer
  - `projectTypeLocked` boolean
  - `retainerBudgetPeriod` 'MONTHLY' | 'QUARTERLY' | 'ANNUALLY'
  - `retainerBudgetedHours` integer
  - `retainerFee` number, double
  - `retainerCountHoursMode` 'BOTH' | 'BILLABLE_ONLY' | 'NON_BILLABLE_ONLY'
  - `retainerCountCostMode` 'BOTH' | 'BILLABLE_ONLY' | 'NON_BILLABLE_ONLY'
  - `retainerCycleAnchor` string, date
  - `thresholdAlertRecipients` ThresholdAlertRecipientDto[]
    - `id` integer — Recipient row id — use for PATCH/DELETE.
    - `userId` integer — Internal org member user id. Null for external stakeholders.
    - `email` string — Email address that receives the alert (always present).
    - `firstName` string — First name — from user-service for internal members; displayName for externals.
    - `profilePicURL` string — Profile picture URL — populated for internal members; null for externals.
    - `profilePicColor` string — Profile picture background color — populated for internal members; null for externals.
    - `provider` string — Auth provider of the internal member (local/google/etc). Null for externals.
    - `role` OrgRoleDto
      - `orgRoleId` integer
      - `roleName` string
    - `active` boolean — Whether this recipient currently receives threshold alerts.
  - `margin` number, double
  - `marginPercent` number, double
  - `spentPercent` number, double
  - `capUsedPercent` number, double
  - `overageHours` integer
  - `retainerBudgetUsedPercent` number, double
  - `retainerTotalCost` number, double
  - `retainerOverageHours` integer
  - `budgetedHours` integer
  - `billableHours` integer
  - `nonBillableHours` integer
  - `actualHours` integer
  - `restrictGuestChatAccess` boolean
  - `autoClose` boolean
  - `currencyCode` string
  - `currencySymbol` string
  - `public` boolean
  - `overdue` boolean
  - `archived` boolean

## Response `200`

OK

- ResponseFormat
  - `success` boolean
  - `message` string
  - `data` unknown
  - `errorCode` integer
  - `errors` unknown

---

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