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

# Create time entry

> Create a time entry.

<Info>Replace `{your-subdomain}` with your workspace's subdomain. <br /> Learn how to find your subdomain in [Workspace subdomain](/getting-started/workspace-subdomain).</Info>


## OpenAPI

````yaml /bundled/time-entry.yaml POST /time-entries
openapi: 3.0.3
info:
  title: NeetoInvoice APIs
  version: 2.0.0
servers:
  - description: NeetoInvoice APIs
    url: https://{your-subdomain}.neetoinvoice.com/api/external/v2
    variables:
      your-subdomain:
        default: spinkart
        description: >-
          Replace **spinkart** with your [workspace's
          subdomain](/getting-started/workspace-subdomain).
security: []
paths:
  /time-entries:
    post:
      tags:
        - Time entry
      summary: Create a time entry
      description: Create a time entry.
      parameters:
        - $ref: '#/components/parameters/api_key_header'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/time_entry_request'
      responses:
        '201':
          description: Created - Time entry created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/time_entry_response'
components:
  parameters:
    api_key_header:
      in: header
      name: X-Api-Key
      description: >-
        Use the X-Api-Key header to provide your workspace API key. Refer to
        [Authentication](/getting-started/authentication) for more information.
      required: true
      schema:
        type: string
        default: your-api-key
  schemas:
    time_entry_request:
      type: object
      required:
        - client_id
        - project_id
        - task_id
        - email
        - hours
        - recorded_on
      properties:
        client_id:
          type: string
          description: >-
            Unique ID of the client. Refer to [Getting the Client
            ID](/getting-started/getting-client-id) section for detailed
            instructions.
          example: d3e77fe4b9cae1e82d8a
        project_id:
          type: string
          description: >-
            Unique ID of the project. Refer to [Getting the Project
            ID](/getting-started/getting-project-id) section for detailed
            instructions.
          example: e34204233797f4b637c5
        task_id:
          $ref: '#/components/schemas/task_id_field'
        email:
          type: string
          format: email
          description: Email address of the user.
          example: adam@example.com
        recorded_on:
          type: string
          format: date
          description: Date on which the time entry needs to be added.
          example: '2025-06-06'
        notes:
          type: string
          description: Additional notes for the task.
          example: Completed working on adding tests.
        hours:
          type: string
          description: Number of hours worked on that particular task.
          example: '2'
        metadata:
          type: object
          description: Additional metadata for the time entry.
          example:
            source: external_api
        checklist_items:
          type: array
          description: List of checklist items.
          items:
            type: object
            properties:
              id:
                type: string
                description: >-
                  Unique ID of the checklist item. Refer to [Getting the
                  Checklist ID](/getting-started/getting-checklist-id) section
                  for detailed instructions.
                example: fe067c21-ee1e-432a-9f38-f1ae0d7ceaf2
              is_completed:
                type: boolean
                description: Status of the checklist item.
                example: true
        is_override:
          type: boolean
          description: Whether to override autolock settings for this time entry.
          example: false
    time_entry_response:
      type: object
      properties:
        notice_code:
          type: string
        organization_id:
          type: string
        subdomain:
          type: string
        id:
          type: string
        hours:
          type: number
          format: float
        notes:
          type: string
        task_id:
          type: string
          format: uuid
        user_id:
          type: string
          format: uuid
        user_email:
          type: string
          format: email
        recorded_on:
          type: string
          format: date
        status:
          type: string
        created_at:
          $ref: '#/components/schemas/date_time_field'
        updated_at:
          $ref: '#/components/schemas/date_time_field'
    task_id_field:
      type: string
      format: uuid
      description: >-
        Unique ID of the task. Refer to [Getting the Task
        ID](/getting-started/getting-task-id) section for detailed instructions.
      example: 4d0d7ad1-91ce-44d0-abfe-6718422716dd
    date_time_field:
      type: string
      format: date-time

````