# Create a new checklist item Endpoint: POST /api/v1/checklists Version: 1.0.0 Security: x-api-key ## Request fields (application/json): - `companyId` (string, required) - `folderName` (string, required) Name of host folder - `schedule` (object, required) - `schedule.period` (object, required) - `schedule.type` (string, required) Recurrence frequency Enum: "NON_RECURRING", "MONTHLY", "QUARTERLY", "ANNUALLY", "CUSTOM", "WEEKLY", "BI_WEEKLY" - `schedule.frequencyPeriods` (array) Any month in which the item should occur Example: ["January","March"] - `signatures` (array, required) - `signatures.group` (string) Enum: "unassigned", "reviewer", "preparer" - `signatures.dueDateSetting` (object) - `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" - `signatures.dueDateSetting.value` (number, required) For OFFSET: number of days after period starts, For FIXED: day of the month, For DAY_OF_WEEK: day of week (0-6) - `signatures.dueDate` (string) Example: "2021-01-04T09:20:13.001Z" - `signatures.assignedTo` (string) Assignee - `signatures.estimatedTime` (string) Estimated completion time - `description` (string, required) Description of item - `tagIds` (array) Tags that allow checklist items to be filtered - `controls` (array) Linked controls for the item Example: ["EQY.01","EQY.02"] ## Response 200 fields (application/json): - `tlcId` (string) Example: "65a6d7a9c1cc45001878718e" - `folder` (object) - `folder.id` (string) Example: "65a6d7f7800ba600199caac2" - `folder.name` (string) Example: "Accounts Payable" - `folder.locked` (object) - `folder.locked.isLocked` (boolean) - `company` (object) - `company.yearEnd` (string) Example: "12/31" - `period` (object) - `period.month` (string) Example: "january" - `period.year` (string) Example: "2024" - `templateId` (string) Example: "67531818facc7d39cbac1ea6" - `description` (string) Example: "weekly description" - `frequency` (integer) Example: 1 - `frequencyMonths` (array) - `reviewnotes` (array) - `signatures` (array) - `signatures.group` (string) Example: "unassigned" - `signatures.dueDate` (string,null) - `signatures.dueDateSetting` (object) - `signatures.dueDateSetting.type` (string) Example: "OFFSET" - `signatures.dueDateSetting.value` (integer) - `signatures.estimatedTime` (string,null) - `signatures.assignedTo` (string,null) - `signatures.assignedDate` (string,null) - `signatures.signedBy` (string,null) - `signatures.signedDate` (string,null) - `signatures._id` (string) Example: "67531819facc7d39cbac1eb6" - `signatures.pastDue` (boolean) - `signatures.complete` (boolean) - `sortOrder` (number) Example: 1.7976931348623157e+308 - `priority` (number) Example: 1.7976931348623157e+308 - `followers` (array) - `controls` (array) - `createdBy` (string) Example: "65a6d7ee800ba600199caa9f" - `lockStatus` (object) - `docs` (array) - `tags` (array) - `createdAt` (string) Example: "2024-12-06T15:28:25.518Z" - `updatedAt` (string) Example: "2024-12-06T15:28:25.518Z" - `__v` (integer) - `assignees` (array) - `readyForReview` (boolean) - `updated` (string) Example: "2024-12-06T15:28:25.518Z" ## Response 303 fields (application/json): - `data` (object) - `data.url` (string) The URL to the new location of the resource. ## 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