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

# Update Timecard

> Update (or create, if missing) a user's timecard for a specific date. Suitable for manual edits — clock-in and clock-out have dedicated endpoints.



## OpenAPI

````yaml /openapi.json put /users/{user_id}/timecards/{date}
openapi: 3.1.1
info:
  title: Everhour API
  version: 1.0.0
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
  - url: https://api.everhour.com
security:
  - ApiKeyAuth: []
tags:
  - name: Clients
  - name: Custom Fields
  - name: Expenses
  - name: Invoices
  - name: Projects
  - name: Reports
  - name: Schedule
  - name: Tasks
  - name: Time Off
  - name: Time Records
  - name: Timecards
  - name: Timers
  - name: Timesheets
  - name: Users
  - name: Webhooks
paths:
  /users/{user_id}/timecards/{date}:
    put:
      tags:
        - Timecards
      summary: Update Timecard
      description: >-
        Update (or create, if missing) a user's timecard for a specific date.
        Suitable for manual edits — clock-in and clock-out have dedicated
        endpoints.
      operationId: updateTimecard
      parameters:
        - name: user_id
          in: path
          required: true
          description: User ID
          schema:
            type: number
            example: 89
        - name: date
          in: path
          required: true
          description: Date
          schema:
            type: string
            example: '2020-10-21'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                clockIn:
                  type: string
                  description: Clock in time in user timezone
                  example: '09:00'
                clockOut:
                  type: string
                  description: Clock out time in user timezone
                  example: '18:00'
                breakTime:
                  type: number
                  description: Breaks duration in seconds
                  example: 3600
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timecard'
        '401':
          description: Unauthorized
components:
  schemas:
    Timecard:
      type: object
      properties:
        user:
          type: number
          description: User ID
          example: 69
        clockIn:
          type: string
          description: Clock-in time in user timezone
          example: '09:00'
        clockOut:
          type: string
          description: Clock-out time in user timezone
          example: '18:00'
        breakTime:
          type: number
          description: Breaks duration in seconds
          example: 3600
        workTime:
          type: number
          description: Working time in seconds
          example: 28800
        history:
          type: array
          items:
            $ref: '#/components/schemas/TimecardHistory'
        date:
          type: string
          description: 'Format: Y-m-d'
        weekId:
          type: integer
          description: Week identifier (YYWW).
        isLocked:
          type: boolean
        invalid:
          type: object
          nullable: true
          description: Validation issues for the timecard, if any.
        lockReasons:
          type: array
          items:
            type: string
      required:
        - user
        - workTime
    TimecardHistory:
      type: object
      properties:
        action:
          type: string
          description: What data are changed
          enum:
            - clock-in
            - clock-out
            - break
          example: clock-in
        previousTime:
          type: string
          description: Old value for clockIn, clockOut or break
          example: '08:00'
        time:
          type: string
          description: New value for clockIn, clockOut or break
          example: '09:00'
        trigger:
          type: string
          description: Action trigger
          enum:
            - manually
            - timer
            - button
            - day-end
            - idle-state
          example: manually
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

````