Skip to main content
PUT
Complete Session

Authorizations

Authorization
string
header
required

Org API key as Token token=ei_live_...

Headers

Idempotency-Key
string | null

Path Parameters

session_id
string
required

Body

application/json

PUT /v1/sessions/{id}/complete → tutor_sessions.status + session_ledger.

Marks a scheduled session completed and writes one tutor-owed session_ledger row per participant from that participant's per-hour rate snapshot. Idempotent: completing an already-completed session is a no-op replay, never a double-ledger. Both fields are persisted: attendance sets each participant's attendance + settlement_state (and excused books 0 owed), mirroring the in-app mark_session_attendance; completed_at is stored on tutor_sessions.completed_at.

attendance
string | null

Optional attendance marker: attended, no_show, or excused

completed_at
string | null

Optional ISO 8601 completion time; defaults to now

Response

Successful Response

id
string
required
status
string | null
title
string | null
tutor_id
string | null
student_id
string | null
starts_at
string | null
ends_at
string | null
duration_minutes
integer | null
tutor_pay_rate_cents
integer | null
student_rate_cents
integer | null
amount_owed_cents
integer | null
mode
string | null
subject_id
string | null
created_at
string | null
completed_at
string | null