---
title: "Advance a facility workflow status via a timeline event"
method: POST
path: "/facility-credentialing-workflows/{workflowId}/timeline-events"
tags: ["FacilityCredentialingWorkflow"]
---

# Advance a facility workflow status via a timeline event

`POST /facility-credentialing-workflows/{workflowId}/timeline-events`

Creates a new timeline event for the specified facility credentialing workflow, driving a status transition and updating the workflow's `credentialingStatus` and relevant dates. **When to use:** Call this to move a workflow from one credentialing status to another. Before calling, use `GET /facility-credentialing-workflows/{workflowId}/timelin e-events/status-options` to discover which statuses are available for the workflow's current state and the caller's permissions. For overriding a PSV step with a blocker, use `POST /{workflowId}/override-timeline-events` instead. **Preconditions:** The workflow must exist and belong to the caller's tenant. **Side effects:** The workflow's `credentialingStatus`, status dates, and related fields are updated as a result of the transition. **Returns:** `201 Created` with the created timeline event and the updated workflow status reflected in the response body.

## Path parameters

- `workflowId` string, required

## Headers

- `tenant-id` string, required

## Request body

- CreateFacilityTimelineEventRequest
  - `name` string, required
  - `changeReason` string
  - `credentialingDecisionDate` string, date
  - `nextCredentialingDate` string, date
  - `overrideReason` string
  - `isOverride` boolean

## Response `201`

Successfully created the timeline event

- FacilityTimelineEventResponse
  - `id` string
  - `workflowId` string
  - `createdBy` string
  - `createdAt` string, date
  - `updatedAt` string, date
  - `updatedBy` string
  - `data` FacilityTimelineEventschema
    - `credentialingDecisionDate` string, date, required
    - `nextCredentialingDate` string, date, required
    - `nextCredentialingDateSource` 'SYSTEM_CALCULATED' | 'USER_INPUT'
    - `changeReason` string, required
    - `psvPdfPath` string
    - `nextCredentialingDateChangeLog` FacilityCredApprovedNextCredentialingDateChangeLogInner[]
      - `changedFrom` string, date, required
      - `changedTo` string, date, required
      - `changeReason` string, required
      - `createdBy` string, required
      - `createdAt` string, date, required
    - `isOverride` boolean
    - `overrideReason` string

## Other responses

- `400` — Invalid request data
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - User does not have required permissions
- `404` — Facility credentialing workflow not found
- `500` — Internal Server Error - An unexpected error occurred
- `502` — Downstream service failure

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
