---
title: "Update credentialing date fields on a CRED_APPROVED timeline event"
method: PATCH
path: "/credentialing-workflows/{workflowId}/timeline-events/{eventId}"
tags: ["CredentialingWorkflow"]
---

# Update credentialing date fields on a CRED_APPROVED timeline event

`PATCH /credentialing-workflows/{workflowId}/timeline-events/{eventId}`

Partially updates the timeline event identified by `eventId` and its associated workflow in a single atomic transaction. Only applicable to events of type `CRED_APPROVED`. Supports updates to the following fields: `nextCredentialingDate` (ISO-8601 date), `nextCredentialingDateSource` (origin of the date value), `changeReason` (free-text explanation for the date change), and `nextCredentialingDateChangeLog` (a free-text log entry for date change history). Both the timeline event and the workflow record are updated atomically — either both succeed or neither is changed.

## Path parameters

- `eventId` string, required
- `workflowId` string, required

## Headers

- `tenant-id` string, required

## Request body

- UpdateTimelineEventRequest
  - `nextCredentialingDate` string, date
  - `nextCredentialingDateSource` string
  - `changeReason` string
  - `nextCredentialingDateChangeLog` NextCredDateChangeLogEntry[]
    - `changedFrom` string, date
    - `changedTo` string, date
    - `changeReason` string

## Response `200`

Successfully updated the timeline event

- TimelineEventResponse — Response containing timeline event information
  - `id` string — Unique identifier for the timeline event
  - `workflowId` string — ID of the associated credentialing workflow
  - `data` TimelineEventData — Timeline event data containing event details. Field requirements vary by event name (see oneOf conditions in schema).
    - `name` 'NOT_STARTED' | 'IN_PROGRESS' | 'OUTREACH_IN_PROGRESS' | 'DATA_MISSING' | 'PSV_COMPLETED' | 'PSV_READY' | 'SENT_TO_COMMITTEE' | 'TABLED' | 'WITHDRAWN_CANCELLED' | 'CRED_DENIED' | 'CRED_APPROVED', required — Name of the timeline event. Must be one of the TimelineStatus enum values.
    - `changeReason` string — Reason for the change or status update. REQUIRED for: DATA_MISSING, WITHDRAWN_CANCELLED. Optional for: CRED_APPROVED, CRED_DENIED, and other statuses. Note: Whether this field is required or optional varies based on the permissions assigned to the user performing the action.
    - `credentialingDecisionDate` string, date
    - `nextCredentialingDate` string, date
    - `nextCredentialingDateSource` 'SYSTEM_CALCULATED' | 'USER_INPUT' — Indicates whether the next credentialing date was calculated by the system or entered by a user. Only applicable for CRED_APPROVED events.
    - `nextCredentialingDateChangeLog` NextCredentialingDateChangeLogEntry[] — Array to track changes to the next credentialing date. The nextCredentialingDate field should reflect the latest value from this array. Only applicable for CRED_APPROVED events.
      - `changedFrom` string, date, required
      - `changedTo` string, date, required
      - `changeReason` string, required — Reason for the change
      - `createdBy` string, required — User who made the change
      - `createdAt` string, date-time, required — Timestamp when the change was made
    - `psvPdfPath` string, uri-reference — URI reference to the PSV (Provider Summary Verification) PDF document.
    - `overrideReason` string, string — Indicates the reason for the override
    - `isOverride` boolean — Indicates if the timeline event is an override bypassing the default validations
  - `createdBy` string — ID of the user who created the timeline event
  - `updatedBy` string — ID of the user who last updated the timeline event
  - `createdAt` string, date-time
  - `updatedAt` string, date-time

## Other responses

- `400` — Invalid request data or business rule violation
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - User does not have required permissions
- `404` — Timeline event or 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)
