---
title: "Update a project"
method: PUT
path: "/v4/projects/{projectId}"
tags: ["Projects"]
---

# Update a project

`PUT /v4/projects/{projectId}`

## Path parameters

- `projectId` string, uuid, required

## Request body

- UpdateProjectRequest
  - `name` string, required
  - `guidelinesHtml` string, nullable
  - `termsOfUse` string, nullable
  - `eligibilityFormId` string, uuid, nullable
  - `customIneligibleMessage` string, nullable
  - `initialFormId` string, uuid, nullable
  - `internalFormId` string, uuid, nullable
  - `startsAt` string, date-time, nullable
  - `endsAt` string, date-time, nullable
  - `isHidden` boolean
  - `isLive` boolean
  - `isArchived` boolean
  - `shouldHideBlindFields` boolean
  - `blindLevel` 'None' | 'Level1' | 'Level2' | 'Level3' | 'Level4' | 'Level5', nullable
  - `requirePublicOrgId` boolean
  - `concealPublicOrgInfo` boolean
  - `requireValidatedEmail` boolean
  - `enableUsBankCheckPayment` boolean
  - `enableUsBankAchPayment` boolean
  - `enableUsBankPrepaidCardPayment` boolean
  - `usBankPrepaidCardDisclosureUrl` string, uri, nullable
  - `usBankAchAccountIsIndividual` boolean, nullable
  - `enableOrganizationSearch` boolean
  - `organizationSearchByEIN` boolean
  - `organizationSearchByUEI` boolean
  - `discoverTags` string[], nullable
  - `defaultNoteVisibility` 'staff' | 'private' | 'All Staff' | 'Entire Team', nullable
  - `emailOnSubmission` boolean
  - `autoResponseTemplateId` string, nullable
  - `successUrl` string, nullable
  - `reviewStages` ReviewStageRequest[], nullable
    - `reviewStageId` string, nullable
    - `stageName` string, nullable
    - `stageOrder` integer
    - `type` 'no_review' | 'yes_no_maybe' | 'custom_review' | 'automated_review', nullable
    - `formId` string, uuid, nullable
    - `reviewerUserIds` string[], nullable
  - `enforceSubmissionCap` boolean
  - `numSubmissionsAllowed` integer
  - `submissionCapDisplaySubmissionCap` boolean
  - `sendSubmissionCapNotification` boolean
  - `submissionCapNotificationPercentage` integer, nullable
  - `gallery` ProjectGalleryRequest
    - `enableGallery` boolean
    - `galleryTitle` string, nullable
    - `galleryViewDisplaySubmitter` boolean
    - `galleryViewLabel` string, nullable
    - `galleryViewLabels` string[], nullable
    - `enableGalleryLabelFilter` boolean
    - `gallerySortOrder` 'default' | 'ascending' | 'descending' | 'random', string
    - `enableGalleryVoting` boolean
    - `enableAnonymousGalleryVoting` boolean
    - `enableValidatedPublicVoting` boolean
    - `enableLimitGalleryVotes` boolean
    - `voteLimitFrequency` integer, nullable
    - `voteLimitPeriod` 'day' | 'week' | 'entire', string
    - `hideGalleryVotes` boolean
    - `enableAutomaticVoting` boolean
    - `showSubmitButtonOnGallery` boolean
    - `shareGalleryLink` boolean
    - `galleryConfirmationLinkText` string, nullable
    - `galleryGuidelines` string, nullable
    - `galleryGuidelinesJson` string, nullable
    - `fields` GalleryFieldRequest[], nullable
      - `fieldId` string, uuid
      - `allowFilter` boolean
      - `displayFilterShortName` string, nullable
  - `enableCollaborativeDrafts` boolean
  - `enableAwardPaymentVisibility` boolean
  - `limitMultipleSubmissions` boolean
  - `enableEditReviews` boolean
  - `requestFormCriteria` RequestFormCriteriaRequest[], nullable
    - `criteriaId` string, uuid, nullable
    - `requestFormId` string, uuid
    - `status` 'new' | 'in_progress' | 'accepted' | 'declined' | 'withdrawn' | 'completed' | 'editable' | 'viewed' | 'received' | 'published', nullable
    - `start` string, date-time, nullable
    - `end` string, date-time, nullable
    - `labelIds` string[], nullable
  - `enableReimbursements` boolean
  - `allowedFunds` string[], nullable
  - `budgetCategories` string[], nullable
  - `organizationSearchAgencies` string[], nullable
  - `isConcealed` boolean
  - `isAdvancedConcealed` boolean
  - `visibleRoles` string[], nullable
  - `fundsDistributionAccountId` string, uuid, nullable

## Response `200`

The updated project

- ProjectResponse
  - `projectId` string, uuid
  - `organizationId` string, uuid
  - `name` string, nullable
  - `guidelinesHtml` string, nullable
  - `termsOfUse` string, nullable
  - `initialFormId` string, uuid, nullable
  - `internalFormId` string, uuid, nullable
  - `eligibilityFormId` string, uuid, nullable
  - `customIneligibleMessage` string, nullable
  - `startsAt` string, date-time, nullable
  - `endsAt` string, date-time, nullable
  - `isHidden` boolean
  - `isLive` boolean
  - `isArchived` boolean
  - `shouldHideBlindFields` boolean
  - `blindLevel` 'None' | 'Level1' | 'Level2' | 'Level3' | 'Level4' | 'Level5', nullable
  - `createdByUserId` string, uuid
  - `createdAt` string, date-time, nullable
  - `concealPublicOrgInfo` boolean
  - `requirePublicOrgId` boolean
  - `enableCollaborativeDrafts` boolean
  - `requireValidatedEmail` boolean
  - `enableUsBankCheckPayment` boolean
  - `enableUsBankAchPayment` boolean
  - `enableUsBankPrepaidCardPayment` boolean
  - `usBankPrepaidCardDisclosureUrl` string, nullable
  - `usBankAchAccountIsIndividual` boolean, nullable
  - `enableOrganizationSearch` boolean
  - `organizationSearchByEIN` boolean
  - `organizationSearchByUEI` boolean
  - `discoverTags` string[], nullable
  - `defaultNoteVisibility` 'staff' | 'private' | 'All Staff' | 'Entire Team', nullable
  - `emailOnSubmission` boolean, nullable
  - `autoResponseTemplateId` string, nullable
  - `successUrl` string, nullable
  - `reviewStages` ReviewStageResponse[], nullable
    - `reviewStageId` string, nullable
    - `stageName` string, nullable
    - `stageOrder` integer
    - `type` 'no_review' | 'yes_no_maybe' | 'custom_review' | 'automated_review', nullable
    - `formId` string, uuid, nullable
    - `reviewerUserIds` string[], nullable
    - `hasCompletedReviews` boolean
    - `isDeleted` boolean
    - `randomAssignmentCount` integer, nullable
    - `nextStageOnCompletedReviews` string, nullable
  - `enforceSubmissionCap` boolean
  - `numSubmissionsAllowed` integer
  - `submissionCapDisplaySubmissionCap` boolean
  - `sendSubmissionCapNotification` boolean
  - `submissionCapNotificationPercentage` integer, nullable
  - `gallery` ProjectGalleryResponse
    - `enableGallery` boolean
    - `galleryTitle` string, nullable
    - `galleryViewDisplaySubmitter` boolean
    - `galleryViewLabel` string, nullable
    - `galleryViewLabels` string[], nullable
    - `enableGalleryLabelFilter` boolean
    - `gallerySortOrder` 'default' | 'ascending' | 'descending' | 'random', string
    - `enableGalleryVoting` boolean
    - `enableAnonymousGalleryVoting` boolean
    - `enableValidatedPublicVoting` boolean
    - `enableLimitGalleryVotes` boolean
    - `voteLimitFrequency` integer, nullable
    - `voteLimitPeriod` 'day' | 'week' | 'entire', string
    - `hideGalleryVotes` boolean
    - `enableAutomaticVoting` boolean
    - `showSubmitButtonOnGallery` boolean
    - `shareGalleryLink` boolean
    - `galleryConfirmationLinkText` string, nullable
    - `galleryGuidelines` string, nullable
    - `galleryGuidelinesJson` string, nullable
    - `fields` GalleryFieldResponse[], nullable
      - `fieldId` string, uuid
      - `publicView` boolean
      - `allowFilter` boolean
      - `displayFilterShortName` string, nullable
    - `galleryScoresLastResetDate` string, date-time, nullable
  - `enableAwardPaymentVisibility` boolean
  - `limitMultipleSubmissions` boolean
  - `enableEditReviews` boolean
  - `totalSubmissionCount` integer
  - `requestFormCriteria` RequestFormCriteriaResponse[], nullable
    - `criteriaId` string, uuid
    - `requestFormId` string, uuid
    - `start` string, date-time, nullable
    - `end` string, date-time, nullable
    - `labelIds` string[], nullable
    - `status` 'new' | 'in_progress' | 'accepted' | 'declined' | 'withdrawn' | 'completed' | 'editable' | 'viewed' | 'received' | 'published', nullable
    - `order` integer
  - `enableReimbursements` boolean
  - `allowedFunds` string[], nullable
  - `budgetCategories` string[], nullable
  - `organizationSearchAgencies` string[], nullable
  - `isConcealed` boolean
  - `isAdvancedConcealed` boolean
  - `visibleRoles` string[], nullable
  - `fundsDistributionAccountId` string, uuid, nullable

## Other responses

- `400` — Invalid request
- `403` — Insufficient permissions
- `404` — Entity not found

---

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