---
title: "Update an eval form. Roles: admin."
method: PUT
path: "/api/eval-forms/{evalFormId}"
tags: ["Evals"]
---

# Update an eval form. Roles: admin.

`PUT /api/eval-forms/{evalFormId}`

## Path parameters

- `evalFormId` integer, required

## Request body

- EvalFormRequest
  - `membershipId` integer, required
  - `title` string
  - `description` string
  - `body` string
  - `typeCode` 'GROUP_TYPE', required
  - `subjectTypeCode` 'GROUP' | 'GROUP_MEMBER' | 'GROUP_MEMBER_SELF', required
  - `groupTypeId` integer
  - `published` boolean, required
  - `evaluatorAudienceId` integer
  - `evaluatorEmailEnabled` boolean, required
  - `subjectEmailEnabled` boolean, required
  - `tasksEnabled` boolean, required
  - `previewEnabled` boolean, required
  - `descriptionEnabled` boolean, required
  - `summaryEnabled` boolean, required
  - `modifyCompletedEvalAllowed` boolean, required
  - `passTypeCode` 'NONE' | 'PERCENTAGE' | 'POINTS', required
  - `passThresholdValue` number

## Response `200`

OK

- EvalFormResponseEvalFormFullWithSections
  - `success` boolean
  - `error` string
  - `evalForm` EvalFormFullWithSections
    - `audit` Audit
      - `createdTime` string, date-time
      - `modifiedTime` string, date-time
      - `modifiedBy` string
    - `alternateLocales` object
      - `empty` boolean
    - `evalFormId` integer
    - `membershipId` integer
    - `title` string
    - `description` string
    - `body` string
    - `published` boolean
    - `passTypeCode` 'NONE' | 'PERCENTAGE' | 'POINTS'
    - `passThresholdValue` number
    - `typeCode` 'GROUP_TYPE'
    - `subjectTypeCode` 'GROUP' | 'GROUP_MEMBER' | 'GROUP_MEMBER_SELF'
    - `evaluatorEmailEnabled` boolean
    - `subjectEmailEnabled` boolean
    - `tasksEnabled` boolean
    - `previewEnabled` boolean
    - `descriptionEnabled` boolean
    - `summaryEnabled` boolean
    - `modifyCompletedEvalAllowed` boolean
    - `groupType` GroupTypeCore
      - `audit` Audit
        - `createdTime` string, date-time
        - `modifiedTime` string, date-time
        - `modifiedBy` string
      - `groupTypeId` integer
      - `membershipId` integer
      - `name` string
      - `namePlural` string
      - `description` string
      - `properties` GroupTypeProperties
        - `announcementsHtml` string
        - `chatEnabled` boolean
        - `chatDefaultEnabled` boolean
        - `contactSharingDefaultEnabled` boolean
        - `postsEnabled` boolean
        - `postsDefaultEnabled` boolean
      - `root` boolean
      - `external` boolean
      - `isPrivate` boolean
    - `evaluatorAudience` AudienceCore
      - `audit` Audit
        - `createdTime` string, date-time
        - `modifiedTime` string, date-time
        - `modifiedBy` string
      - `audienceId` integer
      - `membershipId` integer
      - `name` string
      - `criterionType` 'COMPOUND' | 'COURSE' | 'GROUP' | 'IDENTITY_PROVIDER' | 'PROFILE_QUESTION' | 'PROGRAM'
      - `criterionOperator` 'AND' | 'OR' | 'EQUALS' | 'NOT_EQUALS'
      - `criterionValue` string
      - `invalidTime` string, date-time
      - `groupDescendantsIncluded` boolean
      - `idpPluginId` integer
    - `sections` EvalSectionFull[]
      - `audit` Audit
        - `createdTime` string, date-time
        - `modifiedTime` string, date-time
        - `modifiedBy` string
      - `alternateLocales` object
        - `empty` boolean
      - `evalSectionId` integer
      - `evalFormId` integer
      - `title` string
      - `body` string
      - `seq` integer
      - `questions` QuestionFull[]
        - `audit` Audit
          - `createdTime` string, date-time
          - `modifiedTime` string, date-time
          - `modifiedBy` string
        - `alternateLocales` object
          - `empty` boolean
        - `profileQuestionId` integer
        - `membershipId` integer
        - `contextKey` 'ACTIVITY' | 'EVAL' | 'EVENT' | 'PROFILE_SECTION' | 'SELF_REPORT'
        - `profileSectionId` integer
        - `evalSectionId` integer
        - `contentId` integer
        - `eventId` integer
        - `name` string
        - `profileQuestionType` string
        - `prompt` string
        - `helpText` string
        - `seq` integer
        - `optional` boolean
        - `disabled` boolean
        - `adminOnly` boolean
        - `properties` object
        - `responderType` 'PRIMARY' | 'DEPENDENT' | 'ALL'
        - `responderCommentMode` 'DISABLED' | 'OPTIONAL' | 'REQUIRED'
        - `responseImagesMode` 'DISABLED' | 'OPTIONAL' | 'REQUIRED'
        - `scoringMode` 'BEST_MATCH' | 'EXACT_MATCH' | 'PARTIAL_MATCH_STRICT' | 'PARTIAL_MATCH_PENALIZED'
        - `externalReferenceId` string
        - `pointsPossible` number
        - `profileOptions` ProfileOptionCore[]
          - `audit` Audit
            - `createdTime` string, date-time
            - `modifiedTime` string, date-time
            - `modifiedBy` string
          - `alternateLocales` object
            - `empty` boolean
          - `profileOptionId` integer
          - `prompt` string
          - `value` string
          - `points` number
          - `seq` integer
          - `disabled` boolean
          - `locale` string
        - `locale` string
        - `isDeferred` boolean
        - `isExternal` boolean
      - `locale` string
    - `hasEvals` boolean
    - `locale` string

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `500` — Internal server error

---

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