customer_service

Acquire Ticket Lock

?renew=true is the heartbeat of a tab that holds the lock: UPDATE only, 409 ticket_lock_lost when a handoff removed it (never re-creates it; issue #2172 review 2026-10-07). When the caller has no row but someone else holds a live lock it answers 409 ticket_locked naming them (issue #4169); ticket_lock_lost means nobody holds it. Without it: claim the ticket for the calling principal, or renew an already-held claim -- the desk calls this once on opening a ticket and again on a heartbeat interval while it stays open (see service.acquire_ticket_lock's own docstring for why renewal and first-claim are the same call). 409s with a structured body (_handle_domain_errors's TicketLockHeld branch) when someone else is already in it, naming who and until when -- exactly what the desk needs to render "Rowena is in this one" without a second round trip.

post/api/cs/tickets/{ticket_id}/lock

Request

  • Base URL: https://api.pigeonly.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.pigeonly.com/api/cs/tickets/{ticket_id}/lock
  • Auth: none declared

Path parameters

ticket_idstring uuid required

Query parameters

renewboolean

Response

Successful Response

object required

Changes

No recorded changes to this operation across all 1 revision of this API.