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

# Create a time tracking activity

> Creates a new time tracking activity.



## OpenAPI

````yaml POST /quickbooks-desktop/time-tracking-activities
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /quickbooks-desktop/time-tracking-activities:
    post:
      summary: Create a time tracking activity
      description: Creates a new time tracking activity.
      parameters:
        - in: header
          name: Conductor-End-User-Id
          description: The ID of the End-User to receive this request.
          schema:
            type: string
            description: The ID of the End-User to receive this request.
            example: end_usr_1234567abcdefg
            x-stainless-naming:
              typescript:
                method_argument: conductorEndUserId
              mcp:
                method_argument: conductorEndUserId
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                transactionDate:
                  type: string
                  format: date
                  description: >-
                    The date of this time tracking activity, in ISO 8601 format
                    (YYYY-MM-DD).
                  example: '2024-10-01'
                entityId:
                  type: string
                  description: >-
                    The employee, vendor, or person on QuickBooks's "Other
                    Names" list whose time is being tracked in this time
                    tracking activity. This cannot refer to a customer - use the
                    `customer` field to associate a customer or customer-job
                    with this time tracking activity.
                  example: 80000001-1234567890
                customerId:
                  type: string
                  description: >-
                    The customer or customer-job to which this time tracking
                    activity could be billed. If `billingStatus` is set to
                    "billable", this field is required.
                  example: 80000001-1234567890
                serviceItemId:
                  type: string
                  description: >-
                    The type of service performed during this time tracking
                    activity, referring to billable or purchasable services such
                    as specialized labor, consulting hours, and professional
                    fees.


                    **NOTE**: This field is not required if no `customer` is
                    specified. However, if `billingStatus` is set to "billable",
                    both this field and `customer` are required.
                  example: 80000001-1234567890
                duration:
                  type: string
                  description: >-
                    The time spent performing the service during this time
                    tracking activity, in ISO 8601 format for time intervals
                    (PTnHnMnS). For example, 1 hour and 30 minutes is
                    represented as PT1H30M.


                    **NOTE**: Although seconds can be specified when creating a
                    time tracking activity, they are not returned in responses
                    since QuickBooks Desktop's UI does not display seconds.


                    **IMPORTANT**: This field is required for updating time
                    tracking activities, even if the field is not being
                    modified, because of a bug in QuickBooks itself.
                  example: PT1H30M
                classId:
                  type: string
                  description: >-
                    The time tracking activity's class. Classes can be used to
                    categorize objects into meaningful segments, such as
                    department, location, or type of work. In QuickBooks, class
                    tracking is off by default.
                  example: 80000001-1234567890
                payrollWageItemId:
                  type: string
                  description: >-
                    The payroll wage item (e.g., Regular Pay, Overtime Pay) to
                    use for this time tracking activity. This field can only be
                    used for time tracking if: (1) the person specified in
                    `entity` is an employee in QuickBooks, and (2) the "Use time
                    data to create paychecks" preference is enabled in their
                    payroll settings.
                  example: 80000001-1234567890
                note:
                  type: string
                  description: A note or comment about this time tracking activity.
                  example: Project planning meeting with client.
                billingStatus:
                  type: string
                  enum:
                    - billable
                    - has_been_billed
                    - not_billable
                  description: >-
                    The billing status of this time tracking activity.


                    **IMPORTANT**: When this field is set to "billable" for time
                    tracking activities, both `customer` and `serviceItem` are
                    required so that an invoice can be created.
                  example: billable
                  default: billable
                externalId:
                  type: string
                  format: uuid
                  description: >-
                    A globally unique identifier (GUID) you, the developer, can
                    provide for tracking this object in your external system.
                    This field is immutable and can only be set during object
                    creation.


                    **IMPORTANT**: This field must be formatted as a valid GUID;
                    otherwise, QuickBooks will return an error.
                  example: 12345678-abcd-1234-abcd-1234567890ab
              required:
                - transactionDate
                - entityId
                - duration
              additionalProperties: false
      responses:
        '200':
          description: Returns the newly created time tracking activity.
          headers:
            Conductor-Request-Id:
              schema:
                type: string
                description: The unique identifier for this API request.
                example: req_1234567abcdefg
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/qbd_time_tracking_activity'
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import Conductor from 'conductor-node';


            const conductor = new Conductor({
              apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
            });


            const timeTrackingActivity = await
            conductor.qbd.timeTrackingActivities.create({
              duration: 'PT1H30M',
              entityId: '80000001-1234567890',
              transactionDate: '2024-10-01',
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });


            console.log(timeTrackingActivity.id);
        - lang: Python
          source: >-
            import os

            from datetime import date

            from conductor import Conductor


            conductor = Conductor(
                api_key=os.environ.get("CONDUCTOR_SECRET_KEY"),  # This is the default and can be omitted
            )

            time_tracking_activity =
            conductor.qbd.time_tracking_activities.create(
                duration="PT1H30M",
                entity_id="80000001-1234567890",
                transaction_date=date.fromisoformat("2024-10-01"),
                conductor_end_user_id="end_usr_1234567abcdefg",
            )

            print(time_tracking_activity.id)
components:
  schemas:
    qbd_time_tracking_activity:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this time tracking
            activity. This ID is unique across all transaction types.
          example: 123ABC-1234567890
        objectType:
          type: string
          const: qbd_time_tracking_activity
          description: >-
            The type of object. This value is always
            `"qbd_time_tracking_activity"`.
          example: qbd_time_tracking_activity
        createdAt:
          type: string
          description: >-
            The date and time when this time tracking activity was created, in
            ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks
            Desktop interprets in the local timezone of the end-user's computer.
          example: '2025-01-01T12:34:56.000Z'
        updatedAt:
          type: string
          description: >-
            The date and time when this time tracking activity was last updated,
            in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks
            Desktop interprets in the local timezone of the end-user's computer.
          example: '2025-02-01T12:34:56.000Z'
        revisionNumber:
          type: string
          description: >-
            The current QuickBooks-assigned revision number of this time
            tracking activity object, which changes each time the object is
            modified. When updating this object, you must provide the most
            recent `revisionNumber` to ensure you're working with the latest
            data; otherwise, the update will return an error.
          example: '1721172183'
        transactionDate:
          type: string
          format: date
          description: >-
            The date of this time tracking activity, in ISO 8601 format
            (YYYY-MM-DD).
          example: '2024-10-01'
        entity:
          type: object
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The employee, vendor, or person on QuickBooks's "Other Names" list
            whose time is being tracked in this time tracking activity. This
            cannot refer to a customer - use the `customer` field to associate a
            customer or customer-job with this time tracking activity.
          example:
            id: 80000001-1234567890
            fullName: Acme Corporation
        customer:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The customer or customer-job to which this time tracking activity
            could be billed. If `billingStatus` is set to "billable", this field
            is required.
          example:
            id: 80000001-1234567890
            fullName: Acme Corporation
        serviceItem:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The type of service performed during this time tracking activity,
            referring to billable or purchasable services such as specialized
            labor, consulting hours, and professional fees.


            **NOTE**: This field is not required if no `customer` is specified.
            However, if `billingStatus` is set to "billable", both this field
            and `customer` are required.
          example:
            id: 80000001-1234567890
            fullName: Legal Consulting
        duration:
          type: string
          description: >-
            The time spent performing the service during this time tracking
            activity, in ISO 8601 format for time intervals (PTnHnMnS). For
            example, 1 hour and 30 minutes is represented as PT1H30M.


            **NOTE**: Although seconds can be specified when creating a time
            tracking activity, they are not returned in responses since
            QuickBooks Desktop's UI does not display seconds.


            **IMPORTANT**: This field is required for updating time tracking
            activities, even if the field is not being modified, because of a
            bug in QuickBooks itself.
          example: PT1H30M
        class:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The time tracking activity's class. Classes can be used to
            categorize objects into meaningful segments, such as department,
            location, or type of work. In QuickBooks, class tracking is off by
            default.
          example:
            id: 80000001-1234567890
            fullName: Project Management
        payrollWageItem:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The payroll wage item (e.g., Regular Pay, Overtime Pay) to use for
            this time tracking activity. This field can only be used for time
            tracking if: (1) the person specified in `entity` is an employee in
            QuickBooks, and (2) the "Use time data to create paychecks"
            preference is enabled in their payroll settings.
          example:
            id: 80000001-1234567890
            fullName: Regular Pay
        note:
          type:
            - string
            - 'null'
          description: A note or comment about this time tracking activity.
          example: Project planning meeting with client.
        billingStatus:
          type:
            - string
            - 'null'
          enum:
            - billable
            - has_been_billed
            - not_billable
            - null
          description: >-
            The billing status of this time tracking activity.


            **IMPORTANT**: When this field is set to "billable" for time
            tracking activities, both `customer` and `serviceItem` are required
            so that an invoice can be created.
          example: billable
        externalId:
          type:
            - string
            - 'null'
          description: >-
            A globally unique identifier (GUID) you, the developer, can provide
            for tracking this object in your external system. This field is
            immutable and can only be set during object creation.
          example: 12345678-abcd-1234-abcd-1234567890ab
        isBilled:
          type:
            - boolean
            - 'null'
          description: Indicates whether this time tracking activity has been billed.
          example: false
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - transactionDate
        - entity
        - customer
        - serviceItem
        - duration
        - class
        - payrollWageItem
        - note
        - billingStatus
        - externalId
        - isBilled
      additionalProperties: false
      title: The Time Tracking Activity object
      x-conductor-object-type: transaction
      summary: >-
        A time tracking activity records billable or non-billable time spent by
        an employee, vendor, or other person on a specific service item,
        optionally associated with a customer or job for payroll and invoicing.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your Conductor secret key using Bearer auth (e.g., `"Authorization:
        Bearer {{YOUR_SECRET_KEY}}"`).

````

Built with [Mintlify](https://mintlify.com).