Skip to main content
POST
/
schedule_files
Upload a schedule file
curl --request POST \
  --url https://api.getkroo.com/api/v3/schedule_files \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form 'name=October Baseline' \
  --form file='@example-file' \
  --form file_type=xer \
  --form is_baseline=false \
  --form customer_project_id=123
{
  "id": 482,
  "name": "October 2026 Baseline",
  "is_baseline": false,
  "company_id": 1042,
  "customer_project": {
    "id": 123,
    "name": "<string>",
    "source": "<string>",
    "customer_project_id": "<string>"
  },
  "created_at": "2026-04-27T15:30:00Z"
}

Authorizations

Authorization
string
header
required

Bearer token obtained from POST /oauth/token. Send as Authorization: Bearer <token>. Tokens expire after 1 hour; refresh by requesting a new one with the same client credentials.

Body

multipart/form-data
name
string
required
Example:

"October Baseline"

file
file
required

The schedule file to upload.

file_type
enum<string>
required
Available options:
xer,
xml,
ppx
Example:

"xer"

is_baseline
boolean
default:false
customer_project_id
integer<int64> | null

Optional. Associate the file with a customer project owned by the authenticated company.

Response

File uploaded; sync job enqueued

id
integer<int64>
required

Unique identifier for the schedule file.

Example:

482

name
string
required

Human-readable name supplied when the file was uploaded.

Example:

"October 2026 Baseline"

is_baseline
boolean
required

True if the file was marked as a baseline at upload time; baselines are preserved for variance reporting.

Example:

false

company_id
integer<int64>
required

ID of the company that owns this file. Always equal to the authenticated client's company.

Example:

1042

customer_project
object
required

Project association if one was provided on upload. null for unassociated files.

created_at
string<date-time>
required

ISO 8601 timestamp of when the upload was accepted.

Example:

"2026-04-27T15:30:00Z"