v1

latestOpenAPI 3.0.12026-07-135219.1 KB
Schedule Files

Upload a schedule file

Uploads a P6 schedule file (XER, XML, or PPX) and enqueues a sync job to parse and ingest it.

Required scope: write:schedule_files

Constraints:

  • file must be a multipart/form-data upload.
  • file_type must be one of xer, xml, ppx.
  • Within the same partner family (XER/XML share a family; PPX is its own), the most recent file's file_type cannot change between uploads. Switching formats inside a partner returns 422 file_type_mismatch. PPX after XER is allowed because they belong to different partners.
  • customer_project_id, if provided, must reference a customer project owned by the authenticated company.

422 error codes:

  • invalid_request — missing required parameter (name, file, or file_type) or file is not a multipart upload.
  • file_type_mismatch — the most recent file in the same partner family uses a different file_type.
  • validation_error — the underlying record failed model-level validation (including unknown file_type values).
post/schedule_files

Response

File uploaded; sync job enqueued

idinteger required

Unique identifier for the schedule file.

namestring required

Human-readable name supplied when the file was uploaded.

is_baselineboolean required

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

company_idinteger required

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

created_atstring date-time required

ISO 8601 timestamp of when the upload was accepted.

Example response

{
  "id": 482,
  "name": "October 2026 Baseline",
  "company_id": 1042,
  "created_at": "2026-04-27T15:30:00Z"
}