# Put Checklist

This API endpoint updates a checklist item.

Endpoint: PUT /api/v1/checklists/{checklistId}
Version: 1.0.0
Security: x-api-key

## Path parameters:

  - `checklistId` (string, required)
    The ID of the checklist item

## Request fields (application/json):

  - `forward` (boolean)
    When true, updates will persist to future periods

  - `data` (object)

  - `data.companyId` (string, required)
    Id of checklist entity
    Example: "5e94d5b63f557b001420bbe3"

  - `data.folderName` (string)
    Name of folder
    Example: "Accounts Payable"

  - `data.description` (string)
    Example: "Record accrued property tax. Verify monthly accrual is 1/12th of prior year expense."

  - `data.schedule` (object, required)

  - `data.schedule.period` (object)

  - `data.schedule.type` (string, required)
    Enum: "NON_RECURRING", "MONTHLY", "QUARTERLY", "ANNUALLY", "CUSTOM", "WEEKLY", "BI_WEEKLY"

  - `data.schedule.frequencyPeriods` (array)

  - `data.signatures` (array)

  - `data.signatures.id` (string)
    Id of signature
    Example: "5e94d5b63f557b001420bbe5"

  - `data.signatures.group` (string)
    If provided, only signatures of the provided group will be signed off
    Enum: "preparer", "reviewer", "unassigned"

  - `data.signatures.signedDate` (string)
    Date when checklist was signed
    Example: "2021-01-01T00:00:00.000Z"

  - `data.signatures.signedBy` (string)
    Signed by user ID
    Example: "5e94d5b63f557b001420bba5"

  - `data.signatures.assignedTo` (string)
    Assigned user ID
    Example: "5e94d5b63f557b001420bba5"

  - `data.signatures.assignedUserGroup` (object)

  - `data.signatures.assignedUserGroup.id` (string, required)
    Assigned User Group ID
    Example: "5e94d5b63f557b001420bba5"

  - `data.signatures.dueDate` (string)
    Date when checklist is due
    Example: "2021-01-01T00:00:00.000Z"

  - `data.signatures.dueDateSetting` (object)

  - `data.signatures.dueDateSetting.type` (string, required)
    Sets the due date frequency. If set to DAY_OF_WEEK, set the schedule frequency to WEEKLY. IF set to DAY_OF_WEEK_BI_WEEKLY, set the frequency to BI_WEEKLY
    Enum: "OFFSET", "FIXED", "DAY_OF_WEEK", "DAY_OF_WEEK_BI_WEEKLY"

  - `data.signatures.dueDateSetting.value` (number, required)
    Index of the day within the given due date frequency type
    Example: 2

  - `data.signatures.metaData` (object)

  - `data.signatures.metaData.token` (string)
    API token id if this signature was signed off via API
    Example: "5e94d5b63f557b001420bbe6"

  - `data.tagIds` (array)
    Example: ["5e94d5b63f557b001420bbe6"]

## Response 200 fields (application/json):

  - `id` (string)
    Id of checklist
    Example: "5e94d5b63f557b001420bbe3"

  - `folder` (object)

  - `folder.name` (string)
    Name of folder

  - `folder.id` (string)
    Id of folder

  - `templateId` (string)
    Template Id of checklist
    Example: "5e94d5b63f557b001420bbe4"

  - `description` (string)
    Example: "Record accrued property tax. Verify monthly accrual is 1/12th of prior year expense."

  - `entityId` (string)
    Example: "656abc949ec04a00096b56d7"

  - `period` (object)

  - `period.month` (string)
    Month of period
    Example: "december"

  - `period.year` (string)
    Year of period
    Example: "2023"

  - `signatures` (array)

  - `signatures.id` (string)
    Id of signature
    Example: "5e94d5b63f557b001420bbe5"

  - `signatures.group` (string)
    Enum: "preparer", "reviewer", "unassigned"

  - `signatures.signedDate` (string)
    Date when checklist was signed
    Example: "2021-01-01T00:00:00.000Z"

  - `signatures.signedBy` (string)
    Signed by user ID
    Example: "5e94d5b63f557b001420bba5"

  - `signatures.assignedTo` (string)
    Assigned user ID
    Example: "5e94d5b63f557b001420bba5"

  - `signatures.dueDate` (string)
    Date when checklist is due
    Example: "2021-01-01T00:00:00.000Z"

  - `signatures.metaData` (object)

  - `signatures.metaData.token` (string)
    API token id if this signature was signed off via API
    Example: "5e94d5b63f557b001420bbe6"

  - `tags` (array)

  - `tags.name` (string)
    Name of tag
    Example: "non_close"

## Response 400 fields (application/json):

  - `message` (object)
    Reason(s) for the errors related to incorrect query keys or values that are out of bounds

  - `message.errors` (array)

  - `message.errors.field` (string)
    The field that caused the error
    Example: "checklistId"

  - `message.errors.message` (string)
    The error message
    Example: "checklistId is not a valid Mongo ObjectId."

  - `name` (string)
    BadRequest
    Example: "BadRequest"

  - `status` (integer)
    The HTTP status code.
    Example: 400

## Response 401 fields (application/json):

  - `message` (string)
    Reason for the error such as incorrect service access, malformed, expired or deactivated token.
    Example: "Invalid token"

  - `name` (string)
    Unauthorized
    Example: "Unauthorized"

  - `status` (integer)
    The HTTP status code.
    Example: 401

## Response 413 fields (application/json):

  - `message` (string)
    Reason for the error related to the payload size
    Example: "Response size is greater than 1MB"

  - `name` (string)
    PayloadTooLarge
    Example: "PayloadTooLarge"

  - `status` (integer)
    The HTTP status code.
    Example: 413


