# Issue

One durable problem or task on the organization's issue board.

**Type**: `object`

## Properties

- name: closedAt (optional)
  type: string
  description: When it closed, or null while open.

- name: confidence (optional)
  type: enum: `CONFIRMED`, `LIKELY`, `UNVERIFIED`
  description: How sure the reporter is that the problem is real.

- name: createdAt (optional)
  type: string
  description: When it was filed.

- name: description (optional)
  type: string
  description: The current understanding, in markdown, kept current rather than appended to.

- name: duplicateOf (optional)
  type: string
  description: The surviving issue, set exactly when resolved as `DUPLICATE`; null in a response when the reader can't see the survivor.

- name: duplicateOfHidden (optional)
  type: boolean
  description: True in a response whose reader can't see the surviving issue.

- name: entities (optional)
  type: object
  description: The `entity:*` tags it concerns, the same vocabulary as memory tags, sorted by key.

- name: evidence (optional)
  type: array of `IssueEvidence`
  description: Things a person can open to check the claim.

- name: expiresAt (optional)
  type: string
  description: When the issue stops applying and closes as `EXPIRED`, or null.

- name: fingerprint (optional)
  type: string
  description: An optional free-form key for exact-match search, or null.

- name: firstSeenAt (optional)
  type: string
  description: The first sighting, or null before any.

- name: id (optional)
  type: string
  description: The issue id.

- name: labels (optional)
  type: array of string
  description: Categories, such as `cost`, sorted.

- name: lastSeenAt (optional)
  type: string
  description: The latest sighting, or when it was filed.

- name: links (optional)
  type: array of `IssueLink`
  description: Related pipelines, investigations, memories, suggestions and external tickets.

- name: locks (optional)
  type: `IssueLocks`

- name: nextStep (optional)
  type: string
  description: The concrete next action and who it waits on, or null.

- name: number (optional)
  type: integer
  description: The short per-organization handle, shown as `#142`.

- name: occurrenceCount (optional)
  type: integer
  description: How many investigations sighted it.

- name: priority (optional)
  type: enum: `P0`, `P1`, `P2`, `P3`
  description: How soon someone should act.

- name: regressed (optional)
  type: boolean
  description: Whether it reopened on a new sighting after being fixed; cleared on its next close.

- name: reporter (optional)
  type: `IssueActor`

- name: resolution (optional)
  type: enum: `FIXED`, `DUPLICATE`, `NOT_A_PROBLEM`, `IGNORED`, `OBSOLETE`, `EXPIRED`
  description: Why it closed; set exactly when `state` is `CLOSED`.

- name: revisitAt (optional)
  type: string
  description: When someone should check back, or null. Then a Monitoring issue's watcher is started on it, or, with no watcher, it goes back to `READY`.

- name: state (optional)
  type: enum: `TRIAGE`, `READY`, `IN_PROGRESS`, `WAITING`, `MONITORING`, `CLOSED`
  description: Where the issue is in its lifecycle.

- name: stateChangedAt (optional)
  type: string
  description: When the state last changed.

- name: teamIds (optional)
  type: array of string
  description: The teams that may see the issue, sorted.

- name: title (optional)
  type: string
  description: One line naming the problem.

- name: updatedAt (optional)
  type: string
  description: When it last changed.

- name: version (optional)
  type: integer
  description: Bumped by every change to a field, the state, an assignment, a lock or the teams.

- name: watchedBy (optional)
  type: string
  description: The agent watching it in `MONITORING`: the one that moved it there, started on it again when a sighting comes in or its revisit time passes. Null outside Monitoring.
