---
title: "Return an overview of the forms and questions used in the assessment. If the user has read access to the assessment, then the forms and questions are visible, even if they would not otherwise be visible on their own"
method: GET
path: "/v1/org/{orgId}/assessment/{assessmentId}/forms-questions"
tags: ["assessment"]
---

# Return an overview of the forms and questions used in the assessment. If the user has read access to the assessment, then the forms and questions are visible, even if they would not otherwise be visible on their own

`GET /v1/org/{orgId}/assessment/{assessmentId}/forms-questions`

## Request

- Base URL: `https://localhost`
- URL: `https://localhost/v1/org/{orgId}/assessment/{assessmentId}/forms-questions`
- Auth: none declared
- TypeScript: <https://skmtc.dev/charthop/apis/charthop-api/docs/v1/org/:orgId/assessment/:assessmentId/forms-questions/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `orgId` string, required
- `assessmentId` string, required

## Response `200`

successful operation

- AssessmentFormsAndQuestions
  - `forms` Form[], required
    - `id` string, required: globally unique id
    - `orgId` string, required: parent organization id
    - `label` string, required: human-readable full name of form
    - `displayName` string: display name of form during completion
    - `displayNameTr` Translations
      - `values` object, required
    - `description` string: description of form
    - `blocks` FormBlock[]: ordered list of blocks being collected in this form
      - `id` string: unique id for the block
      - `fieldName` string: field code name
      - `type` 'QUESTION' | 'CONTENT', required: Type of Form Block
      - `content` string: Content of Content Block
      - `contentTr` Translations
        - `values` object, required
      - `required` boolean: whether field is required or not
      - `questionId` string: question id, for questions
      - `filter` string: Filter to apply on visibility of this block
    - `status` 'ACTIVE' | 'INACTIVE' | 'ARCHIVED', required: status of the form
    - `type` 'BUILT_IN' | 'CUSTOM': type of the form
    - `targetType` 'NONE' | 'PERSON': target type that the form can be filled out about
    - `targetFilter` string: filter that controls on which profiles this tab will appear
    - `submitFilter` string: filter that controls which respondents can submit this form. The form:submit permission, if present, overrides this filter
    - `responseReadFilter` string: filter that controls who can read the form responses. The formResponse:read permission, if present, overrides this filter
    - `approval` 'MANAGER' | 'GRAND_MANAGER': approval needed, if any approval is required
    - `release` 'SUBMITTER' | 'ADMIN': whether a release step is involved (subsequent to approval if any)
    - `releaseMessageChannel` MessageChannelConfig
      - `channels` string[], required
      - `alwaysEmail` boolean, required
    - `share` 'SUBMITTER' | 'ADMIN': whether sharing form responses is allowed
    - `shareMessageChannel` MessageChannelConfig
      - `channels` string[], required
      - `alwaysEmail` boolean, required
    - `autoShare` AutoShare[]: list of automatic sharing to be done after submission
      - `access` 'NONE' | 'LIMITED_READ' | 'LIMITED_WRITE' | 'STANDARD_READ' | 'STANDARD_WRITE' | 'COMPENSATION_READ' | 'FULL_READ' | 'COMP_PLANNING_PARTICIPANT' | 'COMPENSATION_WRITE' | 'WRITE' | 'COMPENSATION_OWNER' | 'OWNER', required
      - `shareWith` string, required
    - `autoShareMessageChannel` MessageChannelConfig
      - `channels` string[], required
      - `alwaysEmail` boolean, required
    - `submitterEdit` FormEditAccess
      - `allow` 'ALWAYS' | 'WHILE_PROPOSED' | 'UNTIL_ACTIVE' | 'WHILE_ASSESSMENT_ACTIVE' | 'TIME_LIMIT'
      - `timeLimitSecs` integer
    - `approverEdit` FormEditAccess
      - `allow` 'ALWAYS' | 'WHILE_PROPOSED' | 'UNTIL_ACTIVE' | 'WHILE_ASSESSMENT_ACTIVE' | 'TIME_LIMIT'
      - `timeLimitSecs` integer
    - `signature` FormSignatureConfig
      - `signers` string[], required
      - `messageChannel` MessageChannelConfig
        - `channels` string[], required
        - `alwaysEmail` boolean, required
      - `message` string
      - `dueDate` DueDate
        - `type` 'EXACT' | 'RELATIVE', required
        - `dueDay` string, required: due day, in either relative (-7d) or exact (YYYY-MM-DD) format
        - `dueTime` string, required: due time, which is a LocalTime
      - `isSkippable` boolean
      - `fieldId` string
    - `authorSensitive` 'ANONYMOUS' | 'PRIVATE' | 'HIGH' | 'MANAGER': view sensitivity for the author of this form - the level of view access required to view the createId and updateId fields. If null, the author's identity is always visible as long as the viewer can read the form response. If set to PRIVATE, the author's identity is stored in ChartHop, but protected such that even users with sensitive access cannot access the data. If set to ANONYMOUS, the author's identity is not stored in ChartHop at all.
    - `options` FormOptions, required
      - `notifySubmitter` boolean
      - `notifySubmitterManager` boolean
      - `notifySelf` boolean
      - `notifyManager` boolean
      - `notifyUserIds` string[]
      - `fillValues` boolean
      - `enableDraft` boolean
      - `peersField` string
      - `enableExport` boolean
      - `timeToEdit` string
      - `endDate` string
    - `completeMode` 'MODAL' | 'FULLSCREEN': appearance of the form during completion
    - `ai` FormAiConfig
      - `enableRead` boolean, required
      - `enableWrite` boolean, required
      - `agentUserId` string
      - `instructions` string
      - `label` string
      - `agentSubmit` 'CHAT' | 'AUTO': whether AI agents are allowed to submit this form: null/absent (never), CHAT (only when in an interactive chat with a human), AUTO (also when running autonomously). Defaults to never.
    - `createId` string: created by user id
    - `createBehalfId` string: created on behalf of user id
    - `createAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `createAt` string: created timestamp
    - `updateId` string: last updated by user id
    - `updateBehalfId` string: last updated on behalf of user id
    - `updateAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `updateAt` string: last updated timestamp
    - `deleteId` string: deleted by user id
    - `deleteBehalfId` string: deleted on behalf of user id
    - `deleteAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `deleteAt` string: deleted timestamp
  - `questions` Question[], required
    - `id` string, required: globally unique id
    - `orgId` string: parent organization id (empty if global)
    - `question` string, required: text of the question
    - `questionTr` Translations
      - `values` object, required
    - `fieldId` string: if the question is linked to a field, the id of that field. Any question responses will be automatically saved to the field
    - `type` 'ADDRESS' | 'ALLOCATIONS' | 'AUDIO' | 'BOOLEAN' | 'COMP' | 'COMPOUND' | 'COMP_BAND' | 'CONTACTS' | 'CURRENCY' | 'DATE' | 'DECIMAL' | 'ELAPSED_DAYS' | 'ELAPSED_MONTHS' | 'ELAPSED_YEARS' | 'EMAIL' | 'ENUM' | 'ENUM_EXPR' | 'ENUM_MULTI' | 'ENUM_SCALE' | 'EXPR' | 'FILE' | 'GROUP' | 'GROUPS' | 'GROUP_ASSIGNMENTS' | 'GROUP_TYPE' | 'GROUP_POSITION_ASSIGNMENTS' | 'IMAGE' | 'INTEGER' | 'JOB' | 'JOB_CODE' | 'JOBS' | 'JOB_TIER' | 'LIST' | 'MAP' | 'MONEY' | 'NAME' | 'OBJECT' | 'PAY_INTERVAL' | 'PERCENT' | 'PERSON' | 'PERSONS' | 'PHONE' | 'STOCKGRANT' | 'STRING' | 'TABLE_REF' | 'TEXT' | 'TIMEOFF' | 'TIMESTAMP' | 'TRACKED_GROUP' | 'URL' | 'USER' | 'VARIABLE_COMP' | 'VARIABLE_COMPS', required: datatype of the question
    - `plural` 'SINGLE' | 'LIST' | 'SET': plural type of the question datatype (either SINGLE, LIST, or SET)
    - `values` EnumValue[]: possible values (enum type only)
      - `name` string, required: enum value name
      - `label` string, required: enum value label
      - `color` string: color of property
      - `expr` string: computed expression, for ENUM_EXPR type
      - `num` number: numeric value, for ENUM_SCALE type
      - `sort` integer: sort order
      - `rank` integer: rank order, if selected in rank order
      - `id` string: unique identifier for enum
      - `labelTr` Translations
        - `values` object, required
    - `places` integer: number of decimal places for numeric values
    - `options` FieldOptions
      - `min` string: minimum value, for numeric and date fields
      - `max` string: maximum value, for numeric and date fields
      - `minItems` integer
      - `maxItems` integer
      - `stackRank` boolean
      - `step` number
      - `enableEditDialog` boolean
      - `requiredJobField` boolean
      - `excludeTargetPersonId` boolean
      - `maxLength` integer
      - `readOnly` boolean
      - `includeFormer` boolean
      - `groupTypeIds` string[]: group types whose groups may be selected, for GROUP fields
      - `effectiveDated` boolean
      - `unique` boolean
      - `required` boolean
    - `createId` string: created by user id
    - `createBehalfId` string: created on behalf of user id
    - `createAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `createAt` string: created timestamp
    - `updateId` string: last updated by user id
    - `updateBehalfId` string: last updated on behalf of user id
    - `updateAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `updateAt` string: last updated timestamp
    - `deleteId` string: deleted by user id
    - `deleteBehalfId` string: deleted on behalf of user id
    - `deleteAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `deleteAt` string: deleted timestamp

## Other responses

- `400`: bad request
- `404`: not found

---

[API](https://skmtc.dev/charthop/apis/charthop-api.md) - [All operations](https://skmtc.dev/charthop/apis/charthop-api/llms.txt) - [OpenAPI document](https://skmtc.dev/charthop/apis/charthop-api/revisions/9ba478cf5ae1?raw)
