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

# Get Hours

> Retrieves a paginated list of time entries. By default, responses are paginated with 20 items per page.



## OpenAPI

````yaml /api-reference/openapi.json get /hours
openapi: 3.1.0
info:
  title: COR API
  description: >-
    The COR API lets you integrate with projectcor.com applications using simple
    HTTP methods, in either XML or JSON formats, making this an ideal API for
    developing integrations with other softwares, external clients or mobile
    applications
  version: 1.0.0
servers:
  - url: https://api.projectcor.com/v1
    description: Production server
security:
  - bearerAuth: []
paths:
  /hours:
    get:
      tags:
        - Hours
      summary: Get Hours
      description: >-
        Retrieves a paginated list of time entries. By default, responses are
        paginated with 20 items per page.
      parameters:
        - name: page
          in: query
          schema:
            type:
              - integer
              - boolean
            default: 1
          description: 'Page number (default: 1). Set to `false` to disable pagination.'
        - name: perPage
          in: query
          schema:
            type: integer
            default: 20
          description: 'Number of items per page (default: 20).'
        - name: filters
          in: query
          schema:
            type: string
          description: >-
            URL-encoded JSON object with filter criteria. Available fields:
            `dateStart` (YYYY-MM-DD), `dateDeadline` (YYYY-MM-DD), `clients`
            (array), `projects` (array), `users` (array), `labels` (array),
            `teams` (array).
        - name: orderBy
          in: query
          schema:
            type: string
          description: >-
            URL-encoded JSON object for sorting. Example:
            {"by":"start","order":"ASC"}.
      responses:
        '200':
          description: Paginated list of time entries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedHoursResponse'
              example:
                total_hours: '4.0000000000000000'
                total_cost: 4714.285714285714
                data:
                  - id: 39517591
                    start: '2026-02-06 00:00:00'
                    stop: '2026-02-06 02:00:00'
                    duration: '2.0000000000000000'
                    cost: 2357.142857142857
                    user_id: 8546
                    task_log_id: 11122850
                    project_id: null
                    client_id: null
                    created_at: '2026-02-06 12:50:12'
                    status: pending
                    status_changed_by: null
                    status_changed_at: null
                    type: TASK
                    task_log_rework_id: null
                    comments: null
                    user:
                      id: 8546
                      first_name: Daniel
                      last_name: Guzman
                      picture: >-
                        https://user-images.projectcor.com/production/Upload/ProfilePictures/50x50/c-2336-248213441263.jpeg
                      remaining_hours: 88
                      timezone: America/Buenos_Aires
                      gmt: '-03:00'
                    client: null
                    project: null
                    task:
                      id: 11122850
                      title: Armado de contenido v1
                      project_id: 878491
                      task_father: null
                      status: nueva
                      father: null
                      project:
                        id: 878491
                        name: Creacion de Contenido
                        client_id: 31405
                        contract_id: null
                        client:
                          id: 31405
                          name: Cloud Solution
                          client_status_id: 1
                        has_expired_contract: false
                      labels: []
                    userPosition: null
                    billInput: null
                total: '1'
                perPage: 20
                page: '1'
                lastPage: 1
components:
  schemas:
    PaginatedHoursResponse:
      type: object
      description: Paginated response for time entries list
      properties:
        total_hours:
          type: string
          description: Total hours summed across all entries matching the query
        total_cost:
          type: number
          description: Total cost summed across all entries matching the query
        total:
          type:
            - string
            - integer
          description: Total number of time entries
        perPage:
          type:
            - string
            - integer
          description: Number of items per page
        page:
          type:
            - string
            - integer
          description: Current page number
        lastPage:
          type: integer
          description: Last available page number
        data:
          type: array
          description: Array of time entries for the current page
          items:
            $ref: '#/components/schemas/Hour'
    Hour:
      type: object
      properties:
        id:
          type: integer
          description: Unique identifier of the time entry
        start:
          type: string
          format: date-time
          description: Start timestamp of the time entry
        stop:
          type: string
          format: date-time
          description: Stop timestamp of the time entry
        duration:
          type: string
          description: Duration of the time entry in hours
        cost:
          type: number
          description: Calculated cost for this time entry
        user_id:
          type: integer
          description: ID of the user who logged the hours
        task_log_id:
          type: integer
          description: ID of the task this time entry is logged against
        project_id:
          type:
            - integer
            - 'null'
          description: Project ID (null when the task has no associated project)
        client_id:
          type:
            - integer
            - 'null'
          description: Client ID (null when the task has no associated client)
        created_at:
          type: string
          format: date-time
          description: Timestamp when the time entry was created
        status:
          type: string
          enum:
            - pending
            - approved
            - rejected
            - paid
          description: Current approval status of the time entry
        status_changed_by:
          type:
            - integer
            - 'null'
          description: >-
            ID of the user who last changed the status (null if status has not
            been changed)
        status_changed_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Timestamp when the status was last changed (null if status has not
            been changed)
        type:
          type: string
          description: Type of time entry (e.g. `TASK`)
        task_log_rework_id:
          type:
            - integer
            - 'null'
          description: >-
            Rework ID if this time entry is associated with a rework, otherwise
            null
        comments:
          type:
            - string
            - 'null'
          description: Optional comments on the time entry
        user:
          type: object
          description: Summary of the user who logged the time entry
          properties:
            id:
              type: integer
            first_name:
              type: string
            last_name:
              type: string
            picture:
              type: string
              description: URL to the user's profile picture
            remaining_hours:
              type: number
              description: Remaining available hours for the user
            timezone:
              type: string
              description: User's timezone (e.g. `America/Buenos_Aires`)
            gmt:
              type: string
              description: GMT offset (e.g. `-03:00`)
        client:
          type:
            - object
            - 'null'
          description: Client information (null when the task has no associated client)
        project:
          type:
            - object
            - 'null'
          description: Project information (null when the task has no associated project)
        task:
          type: object
          description: Task this time entry is logged against
          properties:
            id:
              type: integer
              description: Task ID
            title:
              type: string
              description: Task title
            project_id:
              type:
                - integer
                - 'null'
              description: ID of the project this task belongs to
            task_father:
              type:
                - integer
                - 'null'
              description: ID of the parent task, if any
            status:
              type: string
              description: Current status of the task
            father:
              type:
                - object
                - 'null'
              description: Parent task summary (null if no parent task)
              properties:
                id:
                  type: integer
                title:
                  type: string
            project:
              type:
                - object
                - 'null'
              description: Project this task belongs to (null if no project)
              properties:
                id:
                  type: integer
                name:
                  type: string
                client_id:
                  type: integer
                contract_id:
                  type:
                    - integer
                    - 'null'
                client:
                  type: object
                  description: Client that owns the project
                  properties:
                    id:
                      type: integer
                    name:
                      type: string
                    client_status_id:
                      type: integer
                has_expired_contract:
                  type: boolean
            labels:
              type: array
              description: Labels assigned to the task
              items:
                type: object
                properties:
                  id:
                    type: integer
                  hex:
                    type: string
                    description: Hex color code for the label
                  names:
                    type: array
                    description: Localized label names
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        lang:
                          type: string
                          description: Language code (e.g. `en`, `es`, `pt`, `fr`)
        userPosition:
          type:
            - object
            - 'null'
          description: User's position information (null if not set)
        billInput:
          type:
            - object
            - 'null'
          description: >-
            Billing information, present when the time entry has been invoiced
            (status `paid`)
          properties:
            id:
              type: integer
              description: Bill input ID
            entity_id:
              type: integer
              description: ID of the time entry this billing relates to
            bill_id:
              type: integer
              description: ID of the associated bill
            updated_at:
              type: string
              format: date-time
              description: Last update timestamp
            bill:
              type: object
              description: Associated bill details
              properties:
                id:
                  type: integer
                receipt_number:
                  type: string
                  description: Receipt or invoice number
        rework_hour:
          type:
            - object
            - 'null'
          description: Rework details, present when `task_log_rework_id` is set
          properties:
            requested_by:
              type: string
              description: Source of the rework request (e.g. `internal`)
            description:
              type: string
              description: Description of the rework
            'on':
              type: string
              format: date-time
              description: Date the rework was requested
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````