BizKitHub
DocsAPI ReferenceIssue/bff/issue/preview
getIssueAdmin BFF

/bff/issue/preview

Lightweight version of /detail for use inside hover popovers on the issue grid. Skips attachments, internal notes and project chrome; collapses the comment thread to just the most recent row. Intended to be fetched lazily on first hover — the grid caches by issueKey.

IssuegetBffIssuePreview

Parameters

1 query

Query parameters

· 1
issueKeystringRequired

Issue key (e.g. "PROJ-123").

ExamplePROJ-123

Response schema

1 status code documented

200Success
object | object
One of 2:
Variant 1
issueKeystringRequired

Issue key.

subjectstringRequired

Issue subject/title.

descriptionstringRequired

Raw markdown as stored. The renderer runs client-side (matches CmsMarkdownPreview). Empty string when the issue has no description.

aiSummarystring | nullRequired
One of 2:
Variant 1
string

LLM-produced short brief of the description (~2-4 sentences). Rendered above the description in hover cards so a reader sees the point of the ticket first. null when no summary has been generated yet.

Variant 2
null
prioritynumberRequired

Priority (1..5).

priorityLabelstringRequired

Human-readable priority label.

statusobjectRequired
idnumberRequired

Status ID.

labelstringRequired

Status display label (localized to the viewing organisation).

categoryIdnumberRequired

Status category ID (1=new, 2=progress, 3=waiting, 4=done).

categoryCodestringRequired

Status category code.

assigneeobject | nullRequired
One of 2:
Variant 1
idnumberRequired

Contact ID.

externalIdstring | nullRequired
One of 2:
Variant 1
string

Public contact identifier used in admin URLs (/contact/{externalId}) and in /bff/contact/detail?customerId=.... null for legacy rows that predate the external-id backfill; the UI should render the name without a link in that case.

Variant 2
null
namestringRequired

Full name.

emailstring | nullRequired
One of 2:
Variant 1
string

Contact e-mail. null for phone-only contacts (no e-mail registered) and for contacts anonymised via GDPR. UI should fall back to name or the contact ID.

Variant 2
null
Variant 2
null
reporterobject | nullRequired
One of 2:
Variant 1
idnumberRequired

Contact ID.

externalIdstring | nullRequired
One of 2:
Variant 1
string

Public contact identifier used in admin URLs (/contact/{externalId}) and in /bff/contact/detail?customerId=.... null for legacy rows that predate the external-id backfill; the UI should render the name without a link in that case.

Variant 2
null
namestringRequired

Full name.

emailstring | nullRequired
One of 2:
Variant 1
string

Contact e-mail. null for phone-only contacts (no e-mail registered) and for contacts anonymised via GDPR. UI should fall back to name or the contact ID.

Variant 2
null
Variant 2
null
isSpamboolean | nullRequired
One of 2:
Variant 1
boolean

Spam classification. Null = not yet classified.

Variant 2
null
commentsCountnumberRequired

Total comments across all author kinds.

isStalebooleanRequired

True when the issue is progress/waiting and has not moved in 7+ days. Mirrors the flag in /list.

insertedDateDate | string | string | numberRequired

When the issue was created.

One of 4:
Variant 1
Date

When the issue was created.

Variant 2
stringdate-time
Variant 3
stringdate
Variant 4
number
updatedDateDate | string | string | number | nullRequired
One of 2:
Variant 1
Date | string | string | number

Last update timestamp.

One of 4:
Variant 1
Date

Last update timestamp.

Variant 2
stringdate-time
Variant 3
stringdate
Variant 4
number
Variant 2
null
dueDateDate | string | string | number | nullRequired
One of 2:
Variant 1
Date | string | string | number

Due date, when set.

One of 4:
Variant 1
Date

Due date, when set.

Variant 2
stringdate-time
Variant 3
stringdate
Variant 4
number
Variant 2
null
lastCommentobject | nullRequired

Most recent comment on the issue, or null if there are no comments yet.

One of 2:
Variant 1
authorKind"human" | "ai" | "system"Required
authorNamestringRequired

Ready-to-render display name. For ai/system this is a synthetic label ("AI Agent" / "System"), NOT the FK contact's name.

messagestringRequired

Comment text (raw markdown).

insertedDateDate | string | string | numberRequired
One of 4:
Variant 1
Date
Variant 2
stringdate-time
Variant 3
stringdate
Variant 4
number
Variant 2
null
Variant 2
exist"false"Required

Response example

application/json
{
  "issueKey": "example_issueKey",
  "subject": "example_subject",
  "description": "example_description",
  "priority": 0,
  "priorityLabel": "example_priorityLabel",
  "status": {
    "id": 0,
    "label": "example_label",
    "categoryId": 0,
    "categoryCode": "example_categoryCode"
  },
  "commentsCount": 0,
  "isStale": false
}

Request example

GET /bff/issue/preview

get
curl -X GET "https://api.bizkithub.com/bff/issue/preview?issueKey=PROJ-123" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY"

Need an API key?

All BizKitHub public API endpoints require authentication via API key.

Get API Key