---
title: "Submit a response to a checklist question"
method: POST
path: "/checklists/CheckListResponse"
tags: ["CheckLists"]
---

# Submit a response to a checklist question

`POST /checklists/CheckListResponse`

## Request

- Base URL: `https://sb2api.servicechannel.com/v3`
- URL: `https://sb2api.servicechannel.com/v3/checklists/CheckListResponse`
- Auth: OAuth 2
  - Authorization code: `https://sb2login.servicechannel.com/oauth/authorize`
  - Token URL: `https://sb2login.servicechannel.com/oauth/token`
- TypeScript: <https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/docs/checklists/CheckListResponse/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a response to the specified checklist question. Learn more about [submitting checklist responses](/guides/checklists/submit-a-checklist-response/).

## Query parameters

- `version` 'V1' | 'V2'

## Request body `multipart/form-data`

- ServiceChannelServicesWebApiModelsRequestChecklistsChecklistResponsesAddChecklistResponseRequest: Request to submit a checklist response
  - `Attachments` ServiceChannelServicesWebApiModelsRequestChecklistsChecklistResponsesAttachmentInfo[]: List of pre-uploaded attachments to associate with the checklist response. Obtain DocumentPath by calling POST /checklists/ChecklistResponse/attachments first.
    - `DocumentName` string: The name of the document.
    - `DocumentPath` string: Document path in the storage.
  - `CheckListQuestionId` integer, required
  - `ChecklistQuestionOptionIds` integer[]
  - `CheckListQuestionOptionID` integer, required
  - `Answer` string
  - `FreeTextAnswer` string
  - `EntityId` integer, required
  - `EntityTypeId` integer
  - `ProviderId` integer
  - `Attempt` integer
  - `TechnicianId` integer
  - `AuthUserId` integer

## Response `201`

For response version V1: A response to a checklist question is created. A checklist response object and an attachment object are returned.

- ServiceChannelServicesWebApiModelsResponseChecklistsChecklistResponsesCreateChecklistResponseWithPicture: Object for a submitted checklist response and attachment.
  - `CheckListResponse` ServiceChannelServicesWebApiModelsResponseChecklistsChecklistResponsesChecklistResponse: Checklist response object.
    - `Id` integer: Checklist response ID.
    - `Answer` string: Answer to a checklist question.
    - `FreeTextAnswer` string: Comment to an answer option with the `IsConditionalFollowUp` attribute. Answer options are configured for questions of the **Selector** type.
    - `EntityId` integer: ID of the work order the response was submitted for.
    - `EntityTypeId` integer: ID of the entity the response was submitted for. 0 is returned for work orders.
    - `Attempt` integer: Order of a technician’s on-site visit when the response was submitted.
    - `ProviderId` integer: ID of the provider on whose behalf the response was submitted.
    - `TechnicianId` integer: ID of the technician on whose behalf the response was submitted.
    - `UpdatedDate` string, date-time: Date and time when the response was last updated set in EST. The format is `YYYY-MM-DDThh:mm:ss.sss`.
    - `UpdatedDateStr` string: Date and time when the response was last updated set in the location’s time zone. The format is `Month Day Year hh:mm`.
    - `UpdatedDateDto` string, date-time: Date and time when the response was last updated set in the location’s time zone with the UTC offset. The format is `YYYY-MM-DDThh:mm:ss.sss±hh:mm`.
    - `CheckListQuestionId` integer: ID of the checklist question the response was submitted for.
    - `QuestionOptions` ServiceChannelServicesWebApiModelsResponseChecklistsChecklistResponsesChecklistQuestionOptionResponse[]: List of the answer options configured for a checklist question of the **Selector** type where multiple options can be selected.
      - `Id` integer: ID of the answer option for a checklist question of the **Selector** type.
      - `Answer` string: Answer option for a checklist question of the **Selector** type. A technician can select from a list of configured options when answering the question.
      - `Sequence` integer: Not applicable to checklists.
      - `IsConditionalFollowUp` boolean: Defines whether a technician is prompted to add a comment to the selected answer option. A comment is mandatory if answering the checklist question is required.
      - `ResponseResultInFailure` boolean: Option for a checklist question of the **Selector** type.
    - `CheckListQuestionOptionId` integer: ID of the answer option configured for a checklist question of the **Selector** type.
    - `AssetId` integer: ID of the asset for which the response was submitted.
    - `IsPassed` boolean: Indicates whether the response avoids the failure criteria.
    - `LinkedWorkOrderId` integer: ID of the linked work order if the response results in a failure and generates a linked work order. Null if the response does not result in a failure or if the failure does not generate a linked work order.
  - `CheckListResponsePicture` ServiceChannelServicesWebApiModelsResponseChecklistsChecklistResponsesChecklistPictureResponse: Object for an attachment added to a checklist response.
    - `Id` integer: ID of the file attached to the checklist response.
    - `CheckListResponseId` integer: ID of the checklist response the attachment is submitted for.
    - `DocumentName` string: Attachment name.
    - `DocumentPath` string: Attachment path.
    - `ThumbnailPath` string: Attachment thumbnail path.
    - `HasThumbnail` boolean: Defines whether a thumbnail is available for the attachment.
    - `UpdatedBy` integer: User Id.

## Other responses

- `400`: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc. <br/>Error codes: 502 — Work order is not found 503 — Bad request 503 — Not all required parameters were specified 503 — The FreeTextAnswer is required 503 — The picture is required 503 — Checkbox responses only support next values: on, off, 1, 0, true, false, yes, no 503 — The required URL view acknowledgement checkbox only supports the next values: on, 1, true, yes 503 - The answer is required! 503 — The Answer is invalid. It must be a number or a string representing a number 503 — Multiple answers are not allowed to a non-selector type question 503 — Multiple answer is not allowed to selector type question where AllowMultiSelect is disabled 503 — The active checklist with specified question (questionId: #) for the specified work order (workOrderId: #) is not found 503 — AssetIds are required for this checklist question 503 — There are no checklists for the specified work order. WorkOrderId: {#} 503 — Question (id: {#}) was not found. 503 — CheckListResponsePictureId (#) is not valid for CheckListResponse 503 — The CheckListQuestionId is not valid. An existing checklist response (id: {#}) was created for another question 503 — The CheckListQuestionOptionID is required 503 — The ChecklistQuestionOptionIds is required for the selector type question where AllowMultiSelect and AnswerRequired is enabled 503 — Question option (id: {#}) was not found 503 — Question option (id: {#}) is not valid for question (id: {#})) 503 — It is not allowed to use the ChecklistQuestionOptionId parameter and the ChecklistQuestionOptionIds parameter together. Use one of these parameters instead. 503 — The question has already been answered for this attempt number. QuestionId: {#}
- `401`: The request is not authorized. <br/>Error codes: 504 — API call rejected by security permissions
- `500`: The server was unable to complete the request due to an internal error.

---

[API](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3.md) - [All operations](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/llms.txt) - [OpenAPI document](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/revisions/d490d6596809?raw)
