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

# clockIn

> The `clockIn` API starts a shift for an employee.

### What it does:
- Creates an active time entry for the employee on the current local work date.

### Notes:
- Use `getEmployeeTimeTrackingStatus` to check eligibility before clock in.



## OpenAPI

````yaml post /userPortal/clockIn
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/clockIn:
    post:
      tags:
        - TimeTracking User
      summary: clockIn
      description: >-
        The `clockIn` API starts a shift for an employee.


        ### What it does:

        - Creates an active time entry for the employee on the current local
        work date.


        ### Notes:

        - Use `getEmployeeTimeTrackingStatus` to check eligibility before clock
        in.
      operationId: clockIn
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                method:
                  type: string
                companyId:
                  type: string
                userId:
                  type: string
              required:
                - method
                - companyId
                - userId
            example:
              method: clockIn
              companyId: 737A232C-33C3-4D15-9A76-FC99826F1B33
              userId: F64EFF29-6516-4C1E-B14D-82F00B7EADF9
      responses:
        '200':
          description: Clock-in recorded
          content:
            application/json:
              schema:
                title: ''
                type: object
                properties: {}
              example:
                timeEntry:
                  timeEntryId: B17DCF4B-CE3B-45AC-8535-B132F05B6F5B
                  status: Ready
                  message: The employee is successfully clocked in.
          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 already clocked in.
          headers: {}
      deprecated: false
      security: []

````