Work Schedules

List all work schedules

List the weekly work schedules of your company with cursor-based pagination. Supports filtering by status (active/archived) and mode (validated/real_clocking), plus free-text search over the schedule name.

get/companies/{company}/work-schedules

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/companies/{company}/work-schedules
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

companystring uuid required

Public identifier (UUID v7) of the company. Get it from GET /v1/me (data.scope[].id).

Query parameters

limitinteger

Number of objects to return, between 1 and 100 (default 25).

starting_afterstring uuid

Cursor for forward pagination: pass the id of the last object on the previous page (the next_cursor of the previous response).

ending_beforestring uuid

Cursor for backward pagination: pass the id of the first object on the current page.

status'active' | 'archived'

Lifecycle status of the work schedule. Exact match on status.

status[in]string

Comma-separated list of values (CSV).

Lifecycle status of the work schedule. Comma-separated list. Any of the values matches.

mode'validated' | 'real_clocking'

Time-tracking mode of the work schedule. Exact match on mode.

mode[in]string

Comma-separated list of values (CSV).

Time-tracking mode of the work schedule. Comma-separated list. Any of the values matches.

searchstring

Free-text search. Escaped LIKE %term% (case-insensitive, max 80 chars) across the resource's key text columns, combined with the other filters (AND) and compatible with the cursor.

Headers

Factuarea-Versionstring date
Example:2026-06-01

Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.

Response

has_moreboolean required

Whether more pages are available after this one.

next_cursorstring nullable required

Opaque cursor for the next page, or null when has_more is false. The example below shows the shape used by most listings; others return a different one, so pass the value back verbatim instead of validating it.

Example response

{
  "data": [
    {
      "id": "01933a20-9d32-7c4e-8a5b-2b3c4d5e6f01",
      "object": "work_schedule",
      "name": "Jornada partida",
      "mode": "validated",
      "week_pattern": [
        {
          "day": 1,
          "ranges": [
            {
              "start": "09:00",
              "end": "14:00"
            },
            {
              "start": "15:00",
              "end": "18:00"
            }
          ]
        },
        {
          "day": 5,
          "ranges": [
            {
              "start": "08:00",
              "end": "15:00"
            }
          ]
        }
      ],
      "weekly_hours": 40,
      "status": "active",
      "created_at": "2024-09-01T10:00:00Z",
      "updated_at": "2024-09-01T10:00:00Z"
    }
  ],
  "has_more": true,
  "next_cursor": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a0c"
}

Changes

No recorded changes to this operation across all 1 revision of this API.