Table of Contents
Overview
This document provides an overview of the GraphQL API for managing reminders within a issue or user. It includes the available queries and mutations, as well as the types used in the API.
Query
reminders
Retrieves reminders based on the provided parameters. If an issueId
is specified, it returns reminders associated with that issue. Otherwise, it fetches reminders for the current user. The showArchived
flag determines whether archived reminders should be included in the response. It’s default true.
Arguments:
issueId: String
- The unique identifier of the bundle.showArchived: Boolean
– Whether to include archived reminders (default:true
).
Returns:
[Reminder] - An array of reminders
Example:
query { reminders(issueId: "10001") { id issueId private subject recipientGoogleChats message recipientUsers cancelWhenResolved recipientGroups recipientChannels addIssueComment ownerAccountId autoDelete period dateTimeOfReminder interval sentDateTime afterRelativeDate relativeDateInterval relativeDateFieldId } }
Mutation
saveReminder
Saves a new reminder or updates an existing one.
Overview
The saveReminder
mutation is used to create or update a reminder.
If an
id
is provided, the corresponding reminder in storage is updated.If no
id
is provided, a new reminder is created and assigned an ID in the format:REMI-<issueId>-<random-UUID>
(for issue-based reminders)REMU-<accountId>-<random-UUID>
(for user-based reminders)
ID Generation Rules
Issue-based reminders:
REMI-<issueId>-<randId>
User-based reminders:
REMU-<accountId>-<randId>
Archived issue-based reminders:
REMIA-<issueId>-<randId>
Archived user-based reminders:
REMUA-<accountId>-<randId>
If an ID is provided in the request, it must match one of these formats.
Validation Rules
The saveReminder
mutation enforces strict validation rules:
Relative Date Mode
If any of the relative date fields are set, then:
relativeDateFieldId
,afterRelativeDate
, andrelativeDateInterval
must all be provided.dateTimeOfReminder
,period
, andinterval
must NOT be provided.
Fixed Date Mode
If dateTimeOfReminder
is provided, then:
dateTimeOfReminder
must be in formatYYYY-MM-DDThh:mm:ss+hh:mm
(ISO 8601).relativeDateFieldId
,afterRelativeDate
, andrelativeDateInterval
must NOT be provided.If
period
is set,interval
must also be provided.
Other Constraints
issueId
is required.subject
is required.recipientUsers
,recipientGroups
,recipientChannels
,recipientGoogleChats
default to empty arrays.Default values:
private
: false (Reminders are public by defaultcancelWhenResolved
: true (Reminder is automatically canceled if the issue is resolvedautoDelete
: true (Reminder is deleted after being sentaddIssueComment
: false (Does not add a comment to the issue by default
Any unknown fields will result in a validation error.
Arguments
reminder!:
InputReminder – The reminder data to save.
Returns
A Reminder object containing the saved reminder's details.
Example Mutation
mutation { saveReminder(input: { id: "REMI-10001-f6468ded-cd8e-4a35-95da-43ec58efb4a8" issueId: "10001" private: false subject: "Reminder Subject" message: "This is a reminder message" recipientUsers: ["assignee"] recipientGroups: ["group-456"] recipientChannels: ["channel-1"] recipientGoogleChats: ["googleChat-1"] cancelWhenResolved: true autoDelete: true addIssueComment: false period: "Daily" interval: 1 dateTimeOfReminder: "2025-03-10T15:00:00+03:00" afterRelativeDate: null relativeDateInterval: null relativeDateFieldId: null }) { id subject } }
Types
Reminder
Represents a reminder within a project.
Fields:
id: String!
- The unique identifier of the reminder.issueId: String!
- The issue ID related to the reminder.private: Boolean
- Whether the reminder is private.subject: String!
- The title/subject of the reminder.message: String
- The message content.recipientUsers: [String!]
- The users who will receive the reminder.recipientGroups: [String!]
- The groups that will receive the reminder.recipientChannels: [String!]
- The Slack/MS Teams channels that will receive the reminder.recipientGoogleChats: [String!]
- The Google Chat spaces that will receive the reminder.cancelWhenResolved: Boolean
- Whether the reminder should be canceled when the issue is resolved.autoDelete: Boolean
- Whether the reminder should be automatically deleted after being sent.addIssueComment: Boolean
- Whether a comment should be added when the reminder is sent.period: String
- The recurrence period.interval: Int
- The recurrence interval.dateTimeOfReminder: String
- The exact date and time when the reminder should trigger.afterRelativeDate: Boolean
- Whether the reminder is based on a relative date.relativeDateInterval: Int
- The interval for relative date-based reminders.relativeDateFieldId: String
- The field ID for relative date-based reminders.sentDateTime: String
- The timestamp when the reminder was last sent.ownerAccountId: String!
- The account ID of the user who created the reminder.
InputReminder
Input type for saving or updating a reminder.
Fields:
id: String
- The unique identifier of the reminder.issueId: String!
- The issue ID related to the reminder.private: Boolean
- Whether the reminder is private.subject: String!
- The title/subject of the reminder.message: String
- The message content.recipientUsers: [String!]
- The users who will receive the reminder.recipientGroups: [String!]
- The groups that will receive the reminder.recipientChannels: [String!]
- The Slack/MS Teams channels that will receive the reminder.recipientGoogleChats: [String!]
- The Google Chat spaces that will receive the reminder.cancelWhenResolved: Boolean
- Whether the reminder should be canceled when the issue is resolved.autoDelete: Boolean
- Whether the reminder should be automatically deleted after being sent.addIssueComment: Boolean
- Whether a comment should be added when the reminder is sent.period: String
- The recurrence period.interval: Int
- The recurrence interval.dateTimeOfReminder: String
- The exact date and time when the reminder should trigger.afterRelativeDate: Boolean
- Whether the reminder is based on a relative date.relativeDateInterval: Int
- The interval for relative date-based reminders.relativeDateFieldId: String
- The field ID for relative date-based reminders.