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

# List Owners

> Retrieves a list of HubSpot CRM Owners belonging to the authorised portal. Primarily supported so you can find valid `hubspot_owner_id` values for Time Log creation.
<Note>
  See [HubSpot API documentation](https://developers.hubspot.com/docs/api-reference/latest/crm/owners/get-owners) for the list of valid **Query Parameters**.
</Note>




## OpenAPI

````yaml /apis/stopwatch-openapi.yaml get /stopwatch/v1/owners
openapi: 3.0.3
info:
  title: StopWatch API
  description: >
    An authentication wrapper for controlled access to HubSpot App Object APIs. 

    This API allows programmatic access to StopWatch Time Log records,
    bypassing 

    standard HubSpot scope restrictions for App Objects.
  version: 1.0.0
servers:
  - url: https://api.threadi.au
    description: Production server
security:
  - bearerAuth: []
paths:
  /stopwatch/v1/owners:
    get:
      summary: List Owners
      description: >
        Retrieves a list of HubSpot CRM Owners belonging to the authorised
        portal. Primarily supported so you can find valid `hubspot_owner_id`
        values for Time Log creation.

        <Note>
          See [HubSpot API documentation](https://developers.hubspot.com/docs/api-reference/latest/crm/owners/get-owners) for the list of valid **Query Parameters**.
        </Note>
      responses:
        '200':
          description: A page of HubSpot CRM Owners.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OwnersResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '429':
          $ref: '#/components/responses/TooManyRequestsError'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailableError'
components:
  schemas:
    OwnersResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/Owner'
        paging:
          $ref: '#/components/schemas/Paging'
    Owner:
      type: object
      properties:
        id:
          type: string
          example: '998877'
          description: >-
            The HubSpot Owner ID. This is the value that should be used for
            `hubspot_owner_id` when creating a Time Log.
        email:
          type: string
          example: user@example.com
        firstName:
          type: string
          example: Example
        lastName:
          type: string
          example: User
        type:
          type: string
          example: PERSON
        createdAt:
          type: string
          format: date-time
          example: '2025-08-14T02:43:21.398Z'
        updatedAt:
          type: string
          format: date-time
          example: '2025-08-14T02:43:21.398Z'
        archived:
          type: boolean
          example: false
    Paging:
      type: object
      properties:
        next:
          type: object
          properties:
            after:
              type: string
              example: 278240677087
            link:
              type: string
              example: >-
                https://api.threadi.au/stopwatch/v1/timelogs?limit=1&properties=a552213_first_start_date%2Ca552213_total_years&after=278240677087
    Error401:
      type: object
      properties:
        error:
          type: string
          example: Invalid API key
    Error403:
      type: object
      properties:
        error:
          type: string
          example: API key has been deactivated
    Error429:
      type: object
      properties:
        error:
          type: string
          example: Daily quota exceeded
        details:
          type: string
          example: >-
            This API key has reached its UTC daily request limit. Use response
            header x-stopwatch-ratelimit-reset to know when this quota will
            reset.
    Error500:
      type: object
      properties:
        error:
          type: string
          example: Internal Server Error
        details:
          type: string
          example: An unexpected error occurred.
    Error503:
      type: object
      properties:
        error:
          type: string
          example: Service temporarily busy
        details:
          type: string
          example: Unable to process request right now. Please retry shortly.
  responses:
    UnauthorizedError:
      description: API key is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error401'
    ForbiddenError:
      description: API key has been deactivated.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error403'
    TooManyRequestsError:
      description: UTC daily API quota exceeded for this API key.
      headers:
        x-stopwatch-ratelimit-reset:
          description: UTC timestamp indicating when the daily quota resets.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error429'
    InternalServerError:
      description: An unexpected error occurred.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error500'
    ServiceUnavailableError:
      description: Service is temporarily busy.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error503'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >
        Bearer Authorization header of the form Bearer {token}, where {token} is
        your API key.

        By default, each API key is **rate-limited to 1,000 requests per day**
        (UTC). If you need a higher daily limit, please submit a [support
        request](https://www.threadi.au/support?app_name=stopwatch).

````