Support
Das Issue-Objekt
Issues stehen für Support-Tickets, die Ihre Organisation erstellt hat. Jedes Issue hat einen Status, eine Priorität und einen Verlauf von Aktivitäten.
Attribute
idIDEindeutige ID des Tickets.
friendlyIdIntLesbare Ticketnummer, fortlaufend pro Organisation.
titleStringnullableKurze Beschreibung des Tickets.
statusIssueStatusAktueller Status im Lebenszyklus des Tickets.
IssueStatusQUEUED_BACKLOGZurückgestelltQUEUED_READYBereitONGOING_REQUESTERWartet auf die anfragende PersonONGOING_ASSIGNEEBei Nebux in ArbeitONGOING_REVIEWIn Prüfung durch die anfragende PersonONGOING_EXTERNALBlockiertCLOSED_RESOLVEDGelöstCLOSED_DISMISSEDVerworfenpriorityIssuePriorityDem Ticket zugewiesene Priorität.
IssuePriorityCRITICALKritischHIGHHochMEDIUMMittelLOWNiedrigsummaryStringnullableAusführliche Beschreibung des Tickets.
createdAtStringISO-8601-Zeitstempel, wann das Ticket erstellt wurde.
updatedAtStringISO-8601-Zeitstempel der letzten Aktualisierung des Tickets.
lastActivityAtStringnullableISO-8601-Zeitstempel der jüngsten Aktivität.
organizationOrganizationProfileDie Organisation, zu der dieses Ticket gehört.
idIDEindeutige ID der Organisation.
nameStringAnzeigename der Organisation.
isVerifiedBooleanOb die Organisation verifiziert wurde.
participationsIssueParticipationConnectionDie am Ticket beteiligten Nutzer: die anfragende Person und die zuständigen Personen. Der node jeder Edge ist eine IssueParticipation mit:
idIDEindeutige ID der Beteiligung.
roleIssueParticipationRoleDie Rolle des Nutzers im Ticket.
IssueParticipationRoleREQUESTERDie Person, die das Ticket eröffnet hat.ASSIGNEEEin Mitglied des Nebux-Teams, das das Ticket bearbeitet.WATCHERVerfolgt das Ticket, ohne zuständig zu sein.NONEKeine bestimmte Rolle.userUserProfileDer beteiligte Nutzer.
idIDEindeutige ID des Nutzers.
firstNameStringDer Vorname des Nutzers.
lastNameStringDer Nachname des Nutzers.
avatarUrlStringURL des Avatarbilds des Nutzers.
isStaffBooleanOb der Nutzer zum Nebux-Team gehört.
firstActivityIssueActivitynullableDie Aktivität, mit der das Ticket eröffnet wurde, in der Regel die erste Nachricht der anfragenden Person.
inboundLinksIssueLinkConnectionTickets, die auf dieses verweisen. Der Node jeder Edge ist ein IssueLink mit:
kindIssueLinkKindDie Art der Beziehung zwischen den beiden Tickets.
inboundIssueIdIDID des Tickets auf der eingehenden Seite der Verknüpfung.
outboundIssueIdIDID des Tickets auf der ausgehenden Seite der Verknüpfung.
outboundLinksIssueLinkConnectionTickets, auf die dieses verweist. Der Node jeder Edge ist ein IssueLink mit:
kindIssueLinkKindDie Art der Beziehung zwischen den beiden Tickets.
inboundIssueIdIDID des Tickets auf der eingehenden Seite der Verknüpfung.
outboundIssueIdIDID des Tickets auf der ausgehenden Seite der Verknüpfung.
{
"id": "rprdbtyvc51ys7g7xq9xwra8cm",
"friendlyId": 42,
"title": "Cannot access billing dashboard",
"status": "ONGOING_ASSIGNEE",
"priority": "HIGH",
"summary": "Getting a 403 Forbidden error when navigating to the billing section.",
"createdAt": "2026-05-15T10:23:41Z",
"updatedAt": "2026-05-15T14:07:22Z",
"lastActivityAt": "2026-05-15T14:07:22Z",
"organization": {
"id": "k4p9m2vr8st1ynx7q3wzc5hjd6",
"name": "Acme Corp"
},
"participations": {
"edges": [
{
"node": {
"id": "prt9k2m8vr4st1ynx7q3wzc5hd",
"role": "REQUESTER",
"user": {
"id": "bm3pq9rv5wy2k8tn7xj4cs1hd0",
"firstName": "Jane",
"lastName": "Doe"
}
}
}
]
}
}Tickets auflisten
Gibt eine paginierte Liste der Tickets einer Organisation zurück. Sie können nach Status oder Priorität filtern und nach verschiedenen Feldern sortieren.
Parameter
idIDerforderlichDie ID der Organisation, deren Tickets Sie auflisten möchten.
firstIntoptionalAnzahl der zurückzugebenden Tickets (Standard 20, maximal 100).
afterCursoroptionalCursor für die Vorwärts-Paginierung. Verwenden Sie den endCursor einer vorherigen Antwort.
where.statusIn[IssueStatus!]optionalFiltert nach einem oder mehreren Status.
IssueStatusQUEUED_BACKLOGZurückgestelltQUEUED_READYBereitONGOING_REQUESTERWartet auf die anfragende PersonONGOING_ASSIGNEEBei Nebux in ArbeitONGOING_REVIEWIn Prüfung durch die anfragende PersonONGOING_EXTERNALBlockiertCLOSED_RESOLVEDGelöstCLOSED_DISMISSEDVerworfenwhere.priorityIn[IssuePriority!]optionalFiltert nach einer oder mehreren Prioritäten.
IssuePriorityCRITICALKritischHIGHHochMEDIUMMittelLOWNiedrigwhere.statusNotIn[IssueStatus!]optionalSchließt einen oder mehrere Status aus.
IssueStatusQUEUED_BACKLOGZurückgestelltQUEUED_READYBereitONGOING_REQUESTERWartet auf die anfragende PersonONGOING_ASSIGNEEBei Nebux in ArbeitONGOING_REVIEWIn Prüfung durch die anfragende PersonONGOING_EXTERNALBlockiertCLOSED_RESOLVEDGelöstCLOSED_DISMISSEDVerworfenwhere.priorityNotIn[IssuePriority!]optionalSchließt eine oder mehrere Prioritäten aus.
IssuePriorityCRITICALKritischHIGHHochMEDIUMMittelLOWNiedrigwhere.titleContainsFoldStringoptionalFiltert nach Tickets, deren Titel diesen Text enthält (ohne Beachtung der Groß-/Kleinschreibung).
orderBy.fieldIssueOrderFieldoptionalFeld, nach dem sortiert wird.
IssueOrderFieldCREATED_ATErstelltLAST_ACTIVITY_ATLetzte AktivitätPRIORITYPrioritätorderBy.directionOrderDirectionoptionalSortierrichtung.
OrderDirectionASCAufsteigendDESCAbsteigendRückgabe
Gibt ein IssueConnection-Objekt mit einer Liste von Issue-Edges, Informationen zur Paginierung und der Gesamtzahl zurück.
Fehler
NOT_FOUNDDie Ressource existiert nicht oder Ihre Organisation hat keinen Zugriff darauf.VALIDATIONDie Eingabe erfüllt die geforderten Regeln nicht (zum Beispiel ist ein Feld zu lang oder ein Wert nicht erlaubt).const res = await fetch("https://api.nebux.cloud", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer your-api-key",
},
body: JSON.stringify({
query: `query ListIssues(
$orgId: ID!
$first: Int
$after: Cursor
$where: IssueWhereInput
$orderBy: IssueOrder
) {
organization(id: $orgId) {
issues(
first: $first
after: $after
where: $where
orderBy: $orderBy
) {
edges {
node {
id
friendlyId
title
status
priority
createdAt
}
}
pageInfo {
hasNextPage
endCursor
}
totalCount
}
}
}`,
variables: {
orgId: "k4p9m2vr8st1ynx7q3wzc5hjd6",
first: 20,
where: { statusIn: ["ONGOING_ASSIGNEE", "ONGOING_REVIEW"] },
},
}),
})
const { data } = await res.json(){
"data": {
"organization": {
"id": "k4p9m2vr8st1ynx7q3wzc5hjd6",
"issues": {
"edges": [
{
"node": {
"id": "rprdbtyvc51ys7g7xq9xwra8cm",
"friendlyId": 42,
"title": "Cannot access billing dashboard",
"status": "ONGOING_ASSIGNEE",
"priority": "HIGH",
"createdAt": "2026-05-15T10:23:41Z"
}
}
],
"pageInfo": {
"hasNextPage": false,
"endCursor": null
},
"totalCount": 1
}
}
}
}Ticket abrufen
Ruft ein einzelnes Ticket anhand seiner ID ab, einschließlich Organisation, Beteiligungen und vollständigem Aktivitätsverlauf.
Parameter
idIDerforderlichDie ID des Tickets, das abgerufen wird.
Rückgabe
Gibt ein Issue-Objekt zurück.
Fehler
NOT_FOUNDDie Ressource existiert nicht oder Ihre Organisation hat keinen Zugriff darauf.const res = await fetch("https://api.nebux.cloud", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer your-api-key",
},
body: JSON.stringify({
query: `query GetIssue($id: ID!) {
issue(id: $id) {
id
friendlyId
title
status
priority
summary
createdAt
updatedAt
lastActivityAt
organization {
id
name
}
participations(first: 20) {
edges {
node {
id
role
user {
id
firstName
lastName
avatarUrl
}
}
}
}
}
}`,
variables: { id: "rprdbtyvc51ys7g7xq9xwra8cm" },
}),
})
const { data } = await res.json(){
"data": {
"issue": {
"id": "rprdbtyvc51ys7g7xq9xwra8cm",
"friendlyId": 42,
"title": "Cannot access billing dashboard",
"status": "ONGOING_ASSIGNEE",
"priority": "HIGH",
"summary": "Getting a 403 Forbidden error when navigating to the billing section.",
"createdAt": "2026-05-15T10:23:41Z",
"updatedAt": "2026-05-15T14:07:22Z",
"lastActivityAt": "2026-05-15T14:07:22Z",
"organization": {
"id": "k4p9m2vr8st1ynx7q3wzc5hjd6",
"name": "Acme Corp"
},
"participations": {
"edges": [
{
"node": {
"id": "prt9k2m8vr4st1ynx7q3wzc5hd",
"role": "REQUESTER",
"user": {
"id": "bm3pq9rv5wy2k8tn7xj4cs1hd0",
"firstName": "Jane",
"lastName": "Doe",
"avatarUrl": "https://..."
}
}
}
]
}
}
}
}Ticket erstellen
Eröffnet ein neues Support-Ticket in Ihrer Organisation. Standardmäßig wird es eingereiht, damit es so bald wie möglich bearbeitet wird (QUEUED_READY); übergeben Sie einen anderen status, um das zu ändern. Diese Mutation enthält keine Nachricht; die erste senden Sie mit der Mutation Kommentar hinzufügen.
Parameter
input.organizationIdIDerforderlichDie ID der Organisation, in der das Ticket erstellt wird.
input.titleStringoptionalKurze Beschreibung des Tickets (maximal 500 Zeichen). Fehlt sie, wird automatisch ein Titel aus der Unterhaltung erzeugt.
input.priorityIssuePriorityoptionalAnfängliche Priorität des Tickets.
IssuePriorityCRITICALKritischAusschließlich für Vorfälle, die die Verfügbarkeit des Dienstes in Produktion beeinträchtigen; wird dringend bearbeitet. Es gelten die Preise für die Störungsbehebung laut Ihrem Vertrag.HIGHHochMEDIUMMittelLOWNiedriginput.statusIssueStatusoptionalWann das Ticket bearbeitet werden soll.
IssueStatusQUEUED_READYStandardDas Nebux-Team bearbeitet es so bald wie möglich.QUEUED_BACKLOGWir stellen es zurück, bis Sie den Status ändern.Rückgabe
Gibt ein IssueCreatePayload-Objekt zurück, das das neu erstellte Issue enthält.
Fehler
VALIDATIONDie Eingabe erfüllt die geforderten Regeln nicht (zum Beispiel ist ein Feld zu lang oder ein Wert nicht erlaubt).INPUTDie Eingabe ist fehlerhaft aufgebaut oder hat den falschen Typ (zum Beispiel eine falsch formatierte ID oder ein fehlendes erforderliches Feld).NOT_FOUNDDie Ressource existiert nicht oder Ihre Organisation hat keinen Zugriff darauf.const res = await fetch("https://api.nebux.cloud", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer your-api-key",
},
body: JSON.stringify({
query: `mutation CreateIssue($input: IssueCreateInput!) {
issueCreate(input: $input) {
issue {
id
friendlyId
title
status
priority
createdAt
}
}
}`,
variables: {
input: {
organizationId: "k4p9m2vr8st1ynx7q3wzc5hjd6",
title: "Cannot access billing dashboard",
priority: "HIGH",
},
},
}),
})
const { data } = await res.json(){
"data": {
"issueCreate": {
"issue": {
"id": "np4kr7mt2vx9q8j3wz6ys1hcd5",
"friendlyId": 43,
"title": "Cannot access billing dashboard",
"status": "QUEUED_READY",
"priority": "HIGH",
"createdAt": "2026-06-02T09:11:05Z"
}
}
}
}Ticket bearbeiten
Aktualisiert die bearbeitbaren Felder eines Ihrer Tickets. Wenn Sie nicht zum Nebux-Team gehören, können Sie den Titel und die Priorität ändern und das Ticket zwischen den beiden Warteschlangen-Status verschieben; den Rest des Lebenszyklus steuert das Nebux-Team.
Parameter
input.idIDerforderlichDie ID des Tickets, das aktualisiert wird.
input.titleStringoptionalNeue kurze Beschreibung des Tickets (maximal 500 Zeichen).
input.priorityIssuePriorityoptionalNeue Priorität des Tickets.
IssuePriorityHIGHHochMEDIUMMittelLOWNiedriginput.statusIssueStatusoptionalÄndert den Status des Tickets. Jeder Wert lässt sich nur aus bestimmten aktuellen Status setzen; siehe unten.
IssueStatusQUEUED_READYWenn das Ticket zurückgestellt ist (QUEUED_BACKLOG), um es als bereit zu markieren, damit das Team es bearbeitet.ONGOING_ASSIGNEEWenn das Ticket auf Ihre Antwort wartet (ONGOING_REQUESTER), um es an das Nebux-Team zurückzugeben; oder wenn es in Prüfung ist (ONGOING_REVIEW), um es als noch nicht gelöst wieder zu öffnen.CLOSED_RESOLVEDWenn das Ticket in Prüfung ist (ONGOING_REVIEW), um zu bestätigen, dass es gelöst ist.Rückgabe
Gibt ein IssueUpdatePayload-Objekt zurück, das das aktualisierte Issue enthält.
Fehler
NOT_FOUNDDie Ressource existiert nicht oder Ihre Organisation hat keinen Zugriff darauf.VALIDATIONDie Eingabe erfüllt die geforderten Regeln nicht (zum Beispiel ist ein Feld zu lang oder ein Wert nicht erlaubt).INPUTDie Eingabe ist fehlerhaft aufgebaut oder hat den falschen Typ (zum Beispiel eine falsch formatierte ID oder ein fehlendes erforderliches Feld).const res = await fetch("https://api.nebux.cloud", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer your-api-key",
},
body: JSON.stringify({
query: `mutation UpdateIssue($input: IssueUpdateInput!) {
issueUpdate(input: $input) {
issue {
id
friendlyId
title
status
priority
updatedAt
}
}
}`,
variables: {
input: {
id: "rprdbtyvc51ys7g7xq9xwra8cm",
title: "Cannot access billing dashboard (still blocked)",
priority: "HIGH",
status: "QUEUED_READY",
},
},
}),
})
const { data } = await res.json(){
"data": {
"issueUpdate": {
"issue": {
"id": "rprdbtyvc51ys7g7xq9xwra8cm",
"friendlyId": 42,
"title": "Cannot access billing dashboard (still blocked)",
"status": "QUEUED_READY",
"priority": "HIGH",
"updatedAt": "2026-06-02T09:25:00Z"
}
}
}
}Das IssueActivity-Objekt
Aktivitäten bilden den Verlauf eines Tickets: Kommentare, hochgeladene Dateien, Feldänderungen und Audit-Einträge. Jede trägt eine Aktion, die angibt, um welche Art von Eintrag es sich handelt.
Attribute
idIDEindeutige ID der Aktivität.
actionIssueActivityActionDie Art der Aktivität.
IssueActivityActionCOMMENTEin Kommentar im Ticket.FILEEine an das Ticket angehängte Datei. Optional kann auch ein Kommentar dabei sein.FIELD_UPDATEEine Änderung an einem der Felder des Tickets.commentStringnullableText des Kommentars, vorhanden bei der Aktion COMMENT.
commentEditedAtStringnullableISO-8601-Zeitstempel der letzten Bearbeitung des Kommentars oder null, wenn er nie bearbeitet wurde.
fileNameStringnullableName der angehängten Datei, vorhanden bei der Aktion FILE.
fileUrlStringnullableDownload-URL der angehängten Datei, vorhanden bei der Aktion FILE.
isBotBooleanOb die Aktivität von einem automatisierten Agenten erzeugt wurde.
isFeaturedBooleanOb das Nebux-Team die Aktivität hervorgehoben hat.
createdAtStringISO-8601-Zeitstempel, wann die Aktivität erstellt wurde.
userUserProfilenullableDer Nutzer, von dem die Aktivität stammt, oder null bei Systemnutzern und gelöschten Konten.
idIDEindeutige ID des Nutzers.
firstNameStringDer Vorname des Nutzers.
lastNameStringDer Nachname des Nutzers.
avatarUrlStringURL des Avatarbilds des Nutzers.
isStaffBooleanOb der Nutzer zum Nebux-Team gehört.
reactionsIssueActivityReactionConnectionReaktionen (Emoji) auf die Aktivität. Der Node jeder Edge ist eine IssueActivityReaction mit:
bodyStringnullableDas Emoji der Reaktion.
userUserProfileDer Nutzer, der reagiert hat.
idIDEindeutige ID des Nutzers.
firstNameStringDer Vorname des Nutzers.
lastNameStringDer Nachname des Nutzers.
avatarUrlStringURL des Avatarbilds des Nutzers.
isStaffBooleanOb der Nutzer zum Nebux-Team gehört.
{
"id": "8m3kq7v2wr9yt4xn1p6cs0hjda",
"action": "COMMENT",
"comment": "We are looking into this now.",
"commentEditedAt": null,
"isBot": false,
"createdAt": "2026-05-15T11:02:13Z",
"user": {
"id": "bm3pq9rv5wy2k8tn7xj4cs1hd0",
"firstName": "Jane",
"lastName": "Doe"
}
}Aktivitäten auflisten
Gibt den Aktivitätsverlauf eines Tickets in chronologischer Reihenfolge zurück: Kommentare, hochgeladene Dateien, Statusänderungen und Audit-Einträge.
Parameter
idIDerforderlichDie ID des Tickets, dessen Aktivitäten Sie auflisten möchten.
firstIntoptionalAnzahl der zurückzugebenden Aktivitäten (Standard 20, maximal 100).
afterCursoroptionalCursor für die Vorwärts-Paginierung. Verwenden Sie den endCursor einer vorherigen Antwort.
where.commentContainsFoldStringoptionalFiltert nach Aktivitäten, deren Kommentar diesen Text enthält (ohne Beachtung der Groß-/Kleinschreibung).
orderBy.fieldIssueActivityOrderFieldoptionalFeld, nach dem die Aktivitäten sortiert werden.
IssueActivityOrderFieldCREATED_ATErstelltorderBy.directionOrderDirectionoptionalSortierrichtung.
OrderDirectionASCAufsteigendDESCAbsteigendRückgabe
Gibt ein IssueActivityConnection-Objekt mit einer Liste von IssueActivity-Edges, Informationen zur Paginierung und der Gesamtzahl zurück.
Fehler
NOT_FOUNDDie Ressource existiert nicht oder Ihre Organisation hat keinen Zugriff darauf.const res = await fetch("https://api.nebux.cloud", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer your-api-key",
},
body: JSON.stringify({
query: `query ListActivities($issueId: ID!, $first: Int, $after: Cursor) {
issue(id: $issueId) {
activities(
first: $first
after: $after
orderBy: { field: CREATED_AT, direction: ASC }
) {
edges {
node {
id
action
comment
commentEditedAt
isBot
createdAt
user {
id
firstName
lastName
}
}
}
pageInfo {
hasNextPage
endCursor
}
totalCount
}
}
}`,
variables: {
issueId: "rprdbtyvc51ys7g7xq9xwra8cm",
first: 20,
},
}),
})
const { data } = await res.json(){
"data": {
"issue": {
"activities": {
"edges": [
{
"node": {
"id": "8m3kq7v2wr9yt4xn1p6cs0hjda",
"action": "COMMENT",
"comment": "We are looking into this now.",
"commentEditedAt": null,
"isBot": false,
"createdAt": "2026-05-15T11:02:13Z",
"user": {
"id": "bm3pq9rv5wy2k8tn7xj4cs1hd0",
"firstName": "Jane",
"lastName": "Doe"
}
}
}
],
"pageInfo": {
"hasNextPage": false,
"endCursor": null
},
"totalCount": 1
}
}
}
}Kommentar hinzufügen
Sendet einen Kommentar zu einem Ticket, indem eine Aktivität mit der Aktion COMMENT erstellt wird. Mit der Aktion FILE und dem Feld file können Sie auch eine Datei anhängen.
Parameter
input.issueIdIDerforderlichDie ID des Tickets, das kommentiert wird.
input.actionIssueActivityActionerforderlichDie Aktion der Aktivität: COMMENT, um einen Kommentar zu senden, oder FILE, um eine Datei anzuhängen.
IssueActivityActionCOMMENTEin Kommentar im Ticket.FILEEine an das Ticket angehängte Datei. Optional kann auch ein Kommentar dabei sein.input.commentStringoptionalDer Text des Kommentars (erforderlich für die Aktion COMMENT).
input.fileUploadoptionalDie Datei, die angehängt wird (erforderlich für die Aktion FILE). Datei-Uploads verwenden die Multipart-Spezifikation von GraphQL (multipart/form-data), nicht den JSON-Body. Mehr dazu in dieser Spezifikation.
Rückgabe
Gibt ein IssueActivityCreatePayload-Objekt zurück, das die neu erstellte IssueActivity enthält.
Fehler
NOT_FOUNDDie Ressource existiert nicht oder Ihre Organisation hat keinen Zugriff darauf.VALIDATIONDie Eingabe erfüllt die geforderten Regeln nicht (zum Beispiel ist ein Feld zu lang oder ein Wert nicht erlaubt).const res = await fetch("https://api.nebux.cloud", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer your-api-key",
},
body: JSON.stringify({
query: `mutation AddComment($input: IssueActivityCreateInput!) {
issueActivityCreate(input: $input) {
issueActivity {
id
action
comment
createdAt
}
}
}`,
variables: {
input: {
issueId: "rprdbtyvc51ys7g7xq9xwra8cm",
action: "COMMENT",
comment: "Thanks for the update, still seeing the error.",
},
},
}),
})
const { data } = await res.json(){
"data": {
"issueActivityCreate": {
"issueActivity": {
"id": "8m3kq7v2wr9yt4xn1p6cs0hjda",
"action": "COMMENT",
"comment": "Thanks for the update, still seeing the error.",
"createdAt": "2026-06-02T09:15:40Z"
}
}
}
}Kommentar bearbeiten
Aktualisiert den Text eines bestehenden Kommentars. Kommentare kann nur bearbeiten, wer sie verfasst hat; commentEditedAt wird auf den Zeitpunkt der Bearbeitung gesetzt.
Parameter
input.idIDerforderlichDie ID der Aktivität (des Kommentars), die bearbeitet wird.
input.commentStringerforderlichDer neue Text des Kommentars.
Rückgabe
Gibt ein IssueActivityUpdatePayload-Objekt zurück, das die aktualisierte IssueActivity enthält.
Fehler
NOT_FOUNDDie Ressource existiert nicht oder Ihre Organisation hat keinen Zugriff darauf.VALIDATIONDie Eingabe erfüllt die geforderten Regeln nicht (zum Beispiel ist ein Feld zu lang oder ein Wert nicht erlaubt).const res = await fetch("https://api.nebux.cloud", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer your-api-key",
},
body: JSON.stringify({
query: `mutation EditComment($input: IssueActivityUpdateInput!) {
issueActivityUpdate(input: $input) {
issueActivity {
id
comment
commentEditedAt
}
}
}`,
variables: {
input: {
id: "8m3kq7v2wr9yt4xn1p6cs0hjda",
comment: "Thanks for the update, the error is gone now.",
},
},
}),
})
const { data } = await res.json(){
"data": {
"issueActivityUpdate": {
"issueActivity": {
"id": "8m3kq7v2wr9yt4xn1p6cs0hjda",
"comment": "Thanks for the update, the error is gone now.",
"commentEditedAt": "2026-06-02T09:20:11Z"
}
}
}
}