---
title: "GET /SurgicalRecords/appointment/{appointmentId}"
method: GET
path: "/SurgicalRecords/appointment/{appointmentId}"
tags: ["SurgicalRecords"]
---

# GET /SurgicalRecords/appointment/{appointmentId}

`GET /SurgicalRecords/appointment/{appointmentId}`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/SurgicalRecords/appointment/{appointmentId}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/SurgicalRecords/appointment/:appointmentId/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `appointmentId` string, required

## Response `200`

OK

- SurgicalRecordResponseDto
  - `id` string
  - `appointmentId` string
  - `patientId` string
  - `procedureName` string
  - `surgeonId` string, nullable
  - `procedureStartTime` string, date-time, nullable
  - `procedureEndTime` string, date-time, nullable
  - `procedureDurationSeconds` union
    - integer
    - string, int32
  - `cutStartTime` string, date-time, nullable: First incision, UTC (ITE-785). Distinct from DateTime? SurgicalRecordResponseDto.ProcedureStartTime, which tracks the Procedure PHASE — the patient is draped and prepped in that phase for some minutes before anyone cuts. Null until stamped.
  - `cutEndTime` string, date-time, nullable: Last suture, UTC (ITE-785). Null until stamped.
  - `surgicalDurationSeconds` union: True surgical time, incision to close. Null unless BOTH stamps exist — half an interval is not a duration, so an open procedure reads as "not yet", not as zero. Sent computed so every surface shows the same figure.
    - integer
    - string, int32
  - `inductionTime` string, date-time, nullable: Induction, UTC (ITE-792): start of anesthesia time. Null until stamped.
  - `extubationTime` string, date-time, nullable: Extubation, UTC (ITE-792): end of anesthesia time. Null until stamped.
  - `isoOnTime` string, date-time, nullable: Inhalant on, UTC. Null until stamped.
  - `isoOffTime` string, date-time, nullable: Inhalant off, UTC. Null until stamped.
  - `anesthesiaDurationSeconds` union: Anesthesia time, induction to extubation. Null unless both stamps exist in order.
    - integer
    - string, int32
  - `activePhase` string
  - `anesthesiaDataJson` string, nullable
  - `anesthesiaDataVersion` string: Version of string? SurgicalRecordResponseDto.AnesthesiaDataJson (ITE-1664). Send it back as string? UpdateSurgicalRecordRequest.AnesthesiaDataVersion with the next grid save.
  - `vitalsSnapshotJson` string, nullable
  - `activeAgentsJson` string, nullable
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `finalizedAt` string, date-time, nullable: When the chart was frozen, or null while it is still being written.
  - `finalizedById` string, nullable
  - `finalizedByName` string, nullable
  - `isFinalized` boolean: Convenience for the client, which gates every write affordance on this rather than re-deriving it from the timestamp. Mirrors `IsEditable` on the SOAP note DTOs.
  - `finalizationEvents` SurgicalRecordFinalizationEventDto[]: Finalize/reopen history, oldest first.
    - `id` string
    - `action` string: "finalized" or "reopened".
    - `reason` string, nullable
    - `actorUserId` string, nullable
    - `actorUserName` string, nullable
    - `createdAt` string, date-time
  - `timelineEvents` SurgicalTimelineEventDto[]
    - `id` string
    - `surgicalRecordId` string
    - `title` string
    - `details` string, nullable
    - `type` string
    - `color` string, nullable
    - `isPinned` boolean
    - `occurredAt` string, date-time
    - `sortOrder` union
      - integer
      - string, int32
    - `createdByAi` boolean: True when the event came from AI transcript extraction (human-accepted).
    - `milestoneKind` string, nullable: "cut_start" / "cut_end" when this event IS a surgical milestone, else null (ITE-785). The console draws a distinct marker on these rather than the ordinary event card, and the record's cut columns mirror their stamps.
    - `inventoryItemId` string, nullable: Drug events: the administered inventory item, when the entry named one (ITE-870).
    - `doseAmount` union: Drug events: the amount given, in string? SurgicalTimelineEventDto.DoseUnit.
      - number, double
      - string, double
    - `doseUnit` string, nullable
    - `route` string, nullable: Drug events: route of administration as charted.
    - `createdAt` string, date-time
    - `amendments` SurgicalTimelineEventAmendmentDto[]: Corrections made to DateTime SurgicalTimelineEventDto.OccurredAt, oldest first. Empty for the overwhelming majority of events; a non-empty list is what the UI keys off to mark a stamp as edited.
      - `id` string
      - `originalOccurredAt` string, date-time
      - `amendedOccurredAt` string, date-time
      - `reason` string, nullable
      - `amendedById` string, nullable
      - `amendedByName` string, nullable
      - `createdAt` string, date-time

## Other responses

- `404`: Not Found

## Changes

- **2026-10-28** `099cf36186e0`: 3 info
  - added the optional property `anesthesiaDataVersion` to the response with the `200` status (media type: text/plain)
  - added the optional property `anesthesiaDataVersion` to the response with the `200` status (media type: application/json)
  - added the optional property `anesthesiaDataVersion` to the response with the `200` status (media type: text/json)
- **2026-10-21** `85ee96c0bb96`: 15 info
  - added the optional property `anesthesiaDurationSeconds` to the response with the `200` status (media type: text/plain)
  - added the optional property `anesthesiaDurationSeconds` to the response with the `200` status (media type: application/json)
  - added the optional property `anesthesiaDurationSeconds` to the response with the `200` status (media type: text/json)
  - added the optional property `extubationTime` to the response with the `200` status (media type: text/plain)
  - …11 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/SurgicalRecords/appointment/:appointmentId/get.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
