> ## Documentation Index
> Fetch the complete documentation index at: https://developer.rollfi.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# clockOut

> The `clockOut` API is used to start a shift for an employee

### What it does:
- Ends a time entry for the employee on the current date at their local time
- Ends the employee's break if they are also on break when the clock out action occurs

### Notes:
- Use the `getEmployeeTimeTrackingStatus` API to determine the employee's eligibility to clock out
- Rollfi does not currently support shifts spanning multiple days (past midnight). ClockOut should be used on the same day as clockIn



## OpenAPI

````yaml put /userPortal/clockOut
openapi: 3.1.0
info:
  title: Default module
  description: |
    Webhook events emitted when a company's KYB status is created or changes.

    Rollfi sends these requests to the webhook URL configured for the client.
    Consumers should return a successful 2xx response after accepting the event.
  version: 1.0.0
servers: []
security: []
tags:
  - name: Admin Portal
  - name: TimeOff Admin
  - name: TimeTracking Admin
  - name: TimeOff User
  - name: TimeTracking User
  - name: TimeTracking Reports
  - name: TimeOff Reports
  - name: Pay Schedule Webhooks
  - name: Pay Period Webhooks
  - name: Employee Bank Account Webhooks
  - name: Employee KYC Webhooks
  - name: Company Bank Account Webhooks
  - name: Company Webhooks
  - name: Employee Status Webhooks
paths:
  /userPortal/clockOut:
    put:
      tags:
        - TimeTracking User
      summary: clockOut
      description: >-
        The `clockOut` API is used to start a shift for an employee


        ### What it does:

        - Ends a time entry for the employee on the current date at their local
        time

        - Ends the employee's break if they are also on break when the clock out
        action occurs


        ### Notes:

        - Use the `getEmployeeTimeTrackingStatus` API to determine the
        employee's eligibility to clock out

        - Rollfi does not currently support shifts spanning multiple days (past
        midnight). ClockOut should be used on the same day as clockIn
      operationId: clockOut
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                method:
                  type: string
                companyId:
                  type: string
                userId:
                  type: string
              required:
                - method
                - companyId
                - userId
            example:
              method: clockOut
              companyId: 737A232C-33C3-4D15-9A76-FC99826F1B33
              userId: F64EFF29-6516-4C1E-B14D-82F00B7EADF9
      responses:
        '200':
          description: Clock-out recorded
          content:
            application/json:
              schema:
                type: object
                properties:
                  timeEntry:
                    type: object
                    properties:
                      timeEntryId:
                        type: string
                      status:
                        type: string
                      message:
                        type: string
                    required:
                      - timeEntryId
                      - status
                      - message
                required:
                  - timeEntry
              example:
                timeEntry:
                  timeEntryId: B17DCF4B-CE3B-45AC-8535-B132F05B6F5B
                  status: Ready
                  message: The employee is successfully clocked out.
          headers: {}
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                    required:
                      - code
                      - message
                required:
                  - error
              example:
                error:
                  code: 400
                  message: Employee is not currently clocked in.
          headers: {}
      deprecated: false
      security: []

````