---
title: "Get Ticket Event Status"
method: GET
path: "/api/psa/{team_key}/ticket-events/{event_key}"
tags: ["psa"]
---

# Get Ticket Event Status

`GET /api/psa/{team_key}/ticket-events/{event_key}`

## Request

- Base URL: `https://api.superit.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.superit.ai/api/psa/{team_key}/ticket-events/{event_key}`
- Auth: HTTP bearer

## Path parameters

- `event_key` string, required
- `team_key` string, required

## Response `200`

Successful Response

- EventStatusResponse: Poll response for a ticket event.
  - `event` EventDetail, required: API response DTO for ticket events.
    - `id` integer, nullable
    - `key` string, required
    - `eventType` string, required
    - `source` string, required
    - `summary` string, required
    - `data` union
      - TicketCreateRequestedData
        - `event_type` 'ticket_create_requested'
        - `description` string, required
        - `contact_entity_id` string, nullable
        - `assignee_entity_id` string, nullable
        - `chat_key` string, nullable
        - `custom_fields` object, nullable
        - `caller_role` string, nullable
        - `caller_team_key` string, nullable
        - `retry_count` integer
        - `previous_errors` FieldRetryError[]
          - `error` string, required
          - `decision` TicketFieldDecision, required: Sub-agent output: which status and fields to use.
            - `status_name` string
            - `status_entity_id` string, nullable
            - `board_id` integer, nullable
            - `category_id` integer, nullable
            - `category_id_2` integer, nullable
            - `category_id_3` integer, nullable
            - `category_id_4` integer, nullable
            - `ticket_type_id` integer, nullable
            - `priority_id` integer, nullable
            - `impact_id` integer, nullable
            - `urgency_id` integer, nullable
            - `type_id` integer, nullable
            - `subtype_id` integer, nullable
            - `item_id` integer, nullable
            - `source_id` integer, nullable
            - `configuration_entity_id` string, nullable
            - `contract_entity_id` string, nullable
            - `summary` string
            - `description` string
            - `custom_fields` object, nullable
        - `decision` TicketFieldDecision: Sub-agent output: which status and fields to use.
          - `status_name` string
          - `status_entity_id` string, nullable
          - `board_id` integer, nullable
          - `category_id` integer, nullable
          - `category_id_2` integer, nullable
          - `category_id_3` integer, nullable
          - `category_id_4` integer, nullable
          - `ticket_type_id` integer, nullable
          - `priority_id` integer, nullable
          - `impact_id` integer, nullable
          - `urgency_id` integer, nullable
          - `type_id` integer, nullable
          - `subtype_id` integer, nullable
          - `item_id` integer, nullable
          - `source_id` integer, nullable
          - `configuration_entity_id` string, nullable
          - `contract_entity_id` string, nullable
          - `summary` string
          - `description` string
          - `custom_fields` object, nullable
      - NoteAddRequestedData: Sparky-driven note on an existing or freshly created ticket.
        - `event_type` 'note_add_requested'
        - `description` string, required
        - `note` string, required
        - `ticket_key` string, nullable
        - `ticket_entity_id` string, nullable
        - `pending_ticket_entity_id` boolean
        - `chat_key` string, nullable
        - `internal` boolean
        - `caller_team_key` string, nullable
        - `customer_facing` boolean
        - `retry_count` integer
        - `previous_errors` FieldRetryError[]
          - `error` string, required
          - `decision` TicketFieldDecision, required: Sub-agent output: which status and fields to use.
            - `status_name` string
            - `status_entity_id` string, nullable
            - `board_id` integer, nullable
            - `category_id` integer, nullable
            - `category_id_2` integer, nullable
            - `category_id_3` integer, nullable
            - `category_id_4` integer, nullable
            - `ticket_type_id` integer, nullable
            - `priority_id` integer, nullable
            - `impact_id` integer, nullable
            - `urgency_id` integer, nullable
            - `type_id` integer, nullable
            - `subtype_id` integer, nullable
            - `item_id` integer, nullable
            - `source_id` integer, nullable
            - `configuration_entity_id` string, nullable
            - `contract_entity_id` string, nullable
            - `summary` string
            - `description` string
            - `custom_fields` object, nullable
        - `triage_suggestion_id` integer, nullable
        - `placeholder` boolean
        - `skip_field_decision` boolean
        - `expected_updated_at` string, nullable
      - NoteUpdateRequestedData: Replace an editable placeholder once its remote id is known.
        - `event_type` 'note_update_requested'
        - `description` string, required
        - `note` string, required
        - `ticket_key` string, required
        - `ticket_entity_id` string, required
        - `note_entity_id` string, nullable
        - `pending_note_entity_id` boolean
        - `internal` boolean
        - `caller_team_key` string, nullable
        - `customer_facing` boolean
        - `fallback_idempotency_key` string, required
      - EngineerNoteAddRequestedData: Auto-link note that points an engineer back to Super IT.
        - `event_type` 'engineer_note_add_requested'
        - `ticket_entity_id` string, required
        - `agent_name` string, required
        - `user_name` string, required
        - `view_url` string, required
      - TicketUpdateRequestedData
        - `event_type` 'ticket_update_requested'
        - `ticket_entity_id` string, required
        - `ticket_key` string, nullable
        - `description` string, required
        - `retry_count` integer
        - `previous_errors` FieldRetryError[]
          - `error` string, required
          - `decision` TicketFieldDecision, required: Sub-agent output: which status and fields to use.
            - `status_name` string
            - `status_entity_id` string, nullable
            - `board_id` integer, nullable
            - `category_id` integer, nullable
            - `category_id_2` integer, nullable
            - `category_id_3` integer, nullable
            - `category_id_4` integer, nullable
            - `ticket_type_id` integer, nullable
            - `priority_id` integer, nullable
            - `impact_id` integer, nullable
            - `urgency_id` integer, nullable
            - `type_id` integer, nullable
            - `subtype_id` integer, nullable
            - `item_id` integer, nullable
            - `source_id` integer, nullable
            - `configuration_entity_id` string, nullable
            - `contract_entity_id` string, nullable
            - `summary` string
            - `description` string
            - `custom_fields` object, nullable
        - `decision` TicketFieldDecision: Sub-agent output: which status and fields to use.
          - `status_name` string
          - `status_entity_id` string, nullable
          - `board_id` integer, nullable
          - `category_id` integer, nullable
          - `category_id_2` integer, nullable
          - `category_id_3` integer, nullable
          - `category_id_4` integer, nullable
          - `ticket_type_id` integer, nullable
          - `priority_id` integer, nullable
          - `impact_id` integer, nullable
          - `urgency_id` integer, nullable
          - `type_id` integer, nullable
          - `subtype_id` integer, nullable
          - `item_id` integer, nullable
          - `source_id` integer, nullable
          - `configuration_entity_id` string, nullable
          - `contract_entity_id` string, nullable
          - `summary` string
          - `description` string
          - `custom_fields` object, nullable
        - `triage_suggestion_id` integer, nullable
        - `manual_apply` boolean
        - `partial_apply` boolean
        - `assignee_entity_id` string, nullable
        - `skip_field_decision` boolean
        - `bypass_write_policy` boolean
        - `approved_decision` boolean
        - `expected_updated_at` string, nullable
      - TimeEntryAddRequestedData: A human-approved time entry against an existing PSA ticket.
        - `event_type` 'time_entry_add_requested'
        - `ticket_key` string, required
        - `ticket_entity_id` string, required
        - `chat_key` string, nullable
        - `caller_team_key` string, nullable
        - `actor_key` string, nullable
        - `member_entity_id` string, required
        - `member_name` string, required
        - `minutes` integer, required
        - `notes` string, required
        - `started_at` string, date-time, nullable
        - `billable` boolean, nullable
        - `work_type` string, nullable
      - TicketCreateAcceptedData: PSA accepted the create call; local persistence not yet complete.
        - `event_type` 'ticket_create_accepted'
        - `ticket_entity_id` string, required
        - `ticket_number` string, nullable
        - `halo_id` integer, nullable
        - `cw_ticket_id` integer, nullable
        - `custom_field_provenance` object, nullable
        - `custom_fields` object, nullable
      - TicketCreateSucceededData: Local ticket fully persisted after a PSA create.
        - `event_type` 'ticket_create_succeeded'
        - `halo_id` string, nullable
        - `cw_ticket_id` string, nullable
        - `autotask_ticket_id` string, nullable
        - `custom_field_provenance` object, nullable
        - `custom_fields` object, nullable
      - NoteAddSucceededData
        - `event_type` 'note_add_succeeded'
        - `note_entity_id` string, required
        - `ticket_number` string, nullable
      - NoteAddDispatchingData: Durable claim written before an editable placeholder API call.
        - `event_type` 'note_add_dispatching'
      - NoteUpdateSucceededData
        - `event_type` 'note_update_succeeded'
        - `note_entity_id` string, required
        - `ticket_number` string, nullable
      - EngineerNoteAddSucceededData
        - `event_type` 'engineer_note_add_succeeded'
        - `note_entity_id` string, required
        - `ticket_number` string, nullable
      - TicketUpdateSucceededData
        - `event_type` 'ticket_update_succeeded'
        - `ticket_entity_id` string, required
      - TimeEntryAddSucceededData
        - `event_type` 'time_entry_add_succeeded'
        - `time_entry_entity_id` string, required
      - TimeEntryAddDispatchingData: Durable claim written before the time-entry POST.
        - `event_type` 'time_entry_add_dispatching'
      - OperationFailedData
        - `event_type` 'ticket_create_failed' | 'note_add_failed' | 'note_update_failed' | 'engineer_note_add_failed' | 'ticket_update_failed' | 'time_entry_add_failed', required
        - `error` string, required
        - `decision` TicketFieldDecision: Sub-agent output: which status and fields to use.
          - `status_name` string
          - `status_entity_id` string, nullable
          - `board_id` integer, nullable
          - `category_id` integer, nullable
          - `category_id_2` integer, nullable
          - `category_id_3` integer, nullable
          - `category_id_4` integer, nullable
          - `ticket_type_id` integer, nullable
          - `priority_id` integer, nullable
          - `impact_id` integer, nullable
          - `urgency_id` integer, nullable
          - `type_id` integer, nullable
          - `subtype_id` integer, nullable
          - `item_id` integer, nullable
          - `source_id` integer, nullable
          - `configuration_entity_id` string, nullable
          - `contract_entity_id` string, nullable
          - `summary` string
          - `description` string
          - `custom_fields` object, nullable
      - WebhookReceivedData
        - `event_type` 'webhook_received'
        - `entity_id` string, required
        - `status` string, required
        - `is_new` boolean, required
        - `status_changed` boolean, required
      - LifecycleArrivedData: A ticket arrived; the trigger classifier categorised it.
        - `event_type` 'lifecycle_arrived'
        - `trigger_kind` string, required
        - `trigger_source` string, required
        - `echo_of_event_id` integer, nullable
      - LifecyclePersistedData: persist_ticket complete; content hash + is_new known.
        - `event_type` 'lifecycle_persisted'
        - `is_new` boolean, required
        - `content_changed` boolean
      - LifecycleSettledData: Lifecycle run reached terminal state (success or no-op).
        - `event_type` 'lifecycle_settled'
        - `chat_key` string, nullable
        - `outcome` 'completed' | 'skipped' | 'no_op' | 'superseded'
        - `error` string, nullable
      - LifecycleFailedData: Framework-level failure (classifier raised, lock contention, etc.). Distinct from a sub-agent / tool failure inside a chat -- those live in the existing failure events.
        - `event_type` 'lifecycle_failed'
        - `error` string, required
        - `stage` 'arrived' | 'persisted' | 'running' | 'settled', required
      - UnparseableEventData: Fallback shape when event.data fails validation against the typed union. Preserves the raw payload and parse error so the UI can still render something and operators can investigate the malformed row.
        - `event_type` '_unparseable'
        - `original_event_type` string, required
        - `raw` object, nullable
        - `parse_error` string, required
    - `ticketKey` string, nullable
    - `parentKey` string, nullable
    - `dependsOnKey` string, nullable
    - `createdAt` string, date-time, required
  - `status` 'pending' | 'succeeded' | 'failed', required
  - `ticketKey` string, nullable
  - `ticketNumber` string, nullable
  - `error` string, nullable

## Other responses

- `400`: Invalid input
- `401`: Not authenticated
- `403`: Forbidden
- `404`: Not found
- `405`: Method not allowed
- `409`: Conflict
- `422`: Validation Error

---

[API](https://skmtc.dev/superit/apis/super-it-api.md) - [All operations](https://skmtc.dev/superit/apis/super-it-api/llms.txt) - [OpenAPI document](https://skmtc.dev/superit/apis/super-it-api/revisions/4944d556c2bb?raw)
