# `api.jobs.on_hold.get` > `GET /job/{jobDisplayId}/onhold/{id}` — ACPortal **Python** ```python api.jobs.on_hold.get(job_display_id: int, on_hold_id: str) -> OnHoldDetails ``` **CLI** ```bash ab jobs on_hold get ``` Fetch one on-hold record. ## Response Returns `OnHoldDetails`. | Field | Type | Required | Description | |---|---|---|---| | `id` | `Optional[int]` | no | On-hold record ID | | `responsiblePartyTypeId` | `Optional[str]` | no | Responsible party type UUID | | `reasonId` | `Optional[str]` | no | Hold reason UUID | | `startDate` | `Optional[str]` | no | Hold start date | | `nextStepId` | `Optional[str]` | no | Next-step lookup UUID | | `dueDate` | `Optional[str]` | no | Due date | | `assignedToId` | `Optional[int]` | no | Assigned follow-up contact ID | | `resolvedDate` | `Optional[str]` | no | Resolution date | | `resolvedCodeId` | `Optional[str]` | no | Resolution code UUID | | `isActive` | `Optional[bool]` | no | Whether the hold is active | | `createdByContactId` | `Optional[int]` | no | Contact ID of creator | | `createdByContactName` | `Optional[str]` | no | Creator name | | `notes` | `Optional[list[dict]]` | no | Associated notes | | `responsibleParty` | `Optional[str]` | no | Responsible party label | | `reason` | `Optional[str]` | no | Hold reason | | `comment` | `Optional[str]` | no | Hold comment | | `description` | `Optional[str]` | no | Hold description | | `comments` | `Optional[list[dict]]` | no | Associated comments | | `dates` | `Optional[dict]` | no | Date information | | `followUpUser` | `Optional[dict]` | no | Follow-up user details | | `status` | `Optional[str]` | no | Hold status | --- [← Back to api.jobs](../jobs.md)