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

# List timesheets

> Returns hourly timesheet totals for the authenticated company over a UTC date range. Each item includes the contract and aggregated tracked time, activity, overtime, and billable amounts. Filter by team or contractor, and sort or paginate the results. The response also includes company-wide statistics for the same period.



## OpenAPI

````yaml /openapi.json get /timesheets
openapi: 3.0.0
info:
  title: goLance External API
  version: 1.0.0
servers:
  - url: https://external-api.golance.com
security: []
paths:
  /timesheets:
    get:
      tags:
        - Timesheets
      summary: List timesheets
      description: >-
        Returns hourly timesheet totals for the authenticated company over a UTC
        date range. Each item includes the contract and aggregated tracked time,
        activity, overtime, and billable amounts. Filter by team or contractor,
        and sort or paginate the results. The response also includes
        company-wide statistics for the same period.
      parameters:
        - schema:
            type: array
            items:
              type: string
            example:
              - 6137109712adad9757ab0e35
          required: false
          name: teamIds
          in: query
        - schema:
            type: string
            description: Start date in YYYY-MM-DD format
            example: '2026-08-01'
          required: true
          name: fromDate
          in: query
        - schema:
            type: string
            description: End date in YYYY-MM-DD format
            example: '2026-08-31'
          required: true
          name: toDate
          in: query
        - schema:
            type: array
            items:
              type: string
            example:
              - 6137109712adad9757ab0e35
          required: false
          name: contractorIds
          in: query
        - schema:
            type: string
            enum:
              - asc
              - desc
            default: asc
          required: false
          name: sortOrder
          in: query
        - schema:
            type: string
            enum:
              - contract
              - contractor
              - trackedTime
              - activity
              - goMeter
              - manual
              - overtime
              - billableTime
              - billableAmount
            default: contract
          required: false
          name: sortField
          in: query
        - schema:
            type: integer
            minimum: 1
            default: 1
          required: false
          name: page
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
          required: false
          name: itemsPerPage
          in: query
      responses:
        '200':
          description: >-
            A paginated list of timesheets plus period-level `statistics`. If
            the caller has no accessible company, `results` is empty.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        contract:
                          type: object
                          properties:
                            id:
                              type: string
                            rate:
                              type: number
                              description: Hourly pay rate
                            title:
                              type: string
                            contractor:
                              type: object
                              properties:
                                id:
                                  type: string
                                firstName:
                                  type: string
                                lastName:
                                  type: string
                              required:
                                - id
                            employer:
                              type: object
                              properties:
                                id:
                                  type: string
                                firstName:
                                  type: string
                                lastName:
                                  type: string
                              required:
                                - id
                            team:
                              type: object
                              nullable: true
                              properties:
                                id:
                                  type: string
                                name:
                                  type: string
                              required:
                                - id
                          required:
                            - id
                            - team
                        statistics:
                          type: object
                          properties:
                            billableMinutes:
                              type: number
                            billedMinutes:
                              type: number
                            manualMinutes:
                              type: number
                            overtimeMinutes:
                              type: number
                            trackedMinutes:
                              type: number
                            activity:
                              type: number
                            billableAmount:
                              type: number
                          required:
                            - billableMinutes
                            - billedMinutes
                            - manualMinutes
                            - overtimeMinutes
                            - trackedMinutes
                            - activity
                            - billableAmount
                      required:
                        - contract
                        - statistics
                  pagination:
                    type: object
                    properties:
                      currentPage:
                        type: number
                      itemsPerPage:
                        type: number
                      pagesCount:
                        type: number
                      totalCount:
                        type: number
                    required:
                      - currentPage
                      - itemsPerPage
                      - pagesCount
                      - totalCount
                  statistics:
                    type: object
                    properties:
                      billableMinutes:
                        type: number
                      billedMinutes:
                        type: number
                      manualMinutes:
                        type: number
                      overtimeMinutes:
                        type: number
                      trackedMinutes:
                        type: number
                      activity:
                        type: number
                      billableAmount:
                        type: number
                    required:
                      - billableMinutes
                      - billedMinutes
                      - manualMinutes
                      - overtimeMinutes
                      - trackedMinutes
                      - activity
                      - billableAmount
                required:
                  - results
                  - pagination
                  - statistics
        '400':
          description: >-
            The request body or query parameters failed validation. Returns
            `validation_error` and field-level `details`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '401':
          description: >-
            Authentication failed. The Bearer token is missing, invalid,
            expired, or not associated with a user. Common codes:
            `missing_token`, `invalid_token`, `unauthorized`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '403':
          description: >-
            The token was accepted, but the caller is not allowed to access this
            resource. Common codes: `forbidden`, `inactive_user`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '429':
          description: >-
            The client exceeded the rate limit of 200 requests per minute per IP
            address. Returns `rate_limited`. Wait for the `Retry-After` header
            before retrying.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '500':
          description: >-
            An unexpected error occurred while processing the request. Returns
            `internal_error`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````