---
title: "Get a schedule file"
method: GET
path: "/schedule_files/{id}"
tags: ["Schedule Files"]
---

# Get a schedule file

`GET /schedule_files/{id}`

Returns a single schedule file owned by the authenticated company.

**Required scope:** `read:schedule_files`

## Response `200`

Schedule file

- ScheduleFile
  - `id` integer, required — Unique identifier for the schedule file.
  - `name` string, required — Human-readable name supplied when the file was uploaded.
  - `is_baseline` boolean, required — True if the file was marked as a baseline at upload time; baselines are preserved for variance reporting.
  - `company_id` integer, required — ID of the company that owns this file. Always equal to the authenticated client's company.
  - `customer_project` object, nullable, required — Project association if one was provided on upload. `null` for unassociated files.
    - `id` integer — Kroo-side project ID.
    - `name` string — Human-readable project name.
    - `source` string — Partner source the project was synced from (e.g. `procore`).
    - `customer_project_id` string — Project identifier in the source partner system.
  - `created_at` string, date-time, required — ISO 8601 timestamp of when the upload was accepted.

## Other responses

- `401` — Missing or invalid token
- `403` — Token lacks required scope
- `404` — Schedule file not found for the authenticated company
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/getkroo/apis/kroo-api-v3.md) · [All operations](https://skmtc.net/getkroo/apis/kroo-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getkroo/kroo-api-v3/versions/1aeb2b609ff7/schema)
