# Post Checklist Signatures

This API endpoint updates the signature status of a checklist.

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

## Path parameters:

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

## Request fields (application/json):

  - `signatureId` (string)
    If provided, only signoff on this signature
    Example: "5e94d5b63f557b001420bbe5"

  - `userId` (string)
    If provided, only signoff on signatures assigned to this user
    Example: "5e94d5b63f557b001420bbe6"

  - `group` (string)
    If provided, only signoff on signatures in this group
    Enum: "preparer", "reviewer", "unassigned"

  - `setSignedOff` (boolean)
    The status of the signature. Defaults to true
    Example: true

## 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 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


