Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 54 additions & 15 deletions api-reference/on-call.openapi.en.json
Original file line number Diff line number Diff line change
Expand Up @@ -6638,7 +6638,7 @@
"On-call/Calendars"
],
"x-mint": {
"content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **1,000 requests/minute**; **50 requests/second** per account |\n| Permissions | None — any valid `app_key` can call this operation |\n\n## Usage\n\n- Without `kind`, personal calendars are returned. `region.official.holiday` returns public holiday calendars, filtered to the caller's locale unless `no_locale` is `true`; use their `cal_id` in `extra_cal_ids`.\n- The list is not paginated; `total` equals the number of items.",
"content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **1,000 requests/minute**; **50 requests/second** per account |\n| Permissions | None — any valid `app_key` can call this operation |\n\n## Usage\n\n- Without `kind`, personal calendars are returned. `region.official.holiday` and `exchange.holiday` return the shared calendars (public holidays, and stock-exchange trading days whose timezone is the exchange's), filtered to the caller's locale unless `no_locale` is `true`; use a holiday `cal_id` in `extra_cal_ids`, and an exchange `cal_id` directly in a rule.\n- The list is not paginated; `total` equals the number of items.",
"href": "/en/api-reference/on-call/calendars/calendar-list",
"metadata": {
"sidebarTitle": "List calendars"
Expand Down Expand Up @@ -7310,7 +7310,7 @@
"On-call/Calendars"
],
"x-mint": {
"content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **300 requests/minute**; **20 requests/second** per account |\n| Permissions | **Calendars Manage** (`on-call`) |\n\n## Usage\n\n- An account can hold at most 5 calendars: once it has 5, a create call by any member returns `InvalidParameter`.\n- `cal_name` must be unique within the account, `timezone` must be a valid IANA name, and a nonzero `team_id` must be a team of the account; otherwise the call returns `InvalidParameter`.\n- Every call is recorded in the account audit log.",
"content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **300 requests/minute**; **20 requests/second** per account |\n| Permissions | **Calendars Manage** (`on-call`) |\n\n## Usage\n\n- An account can hold at most 20 calendars: once it has 20, a create call by any member returns `InvalidParameter`.\n- `cal_name` must be unique within the account, `timezone` must be a valid IANA name, and a nonzero `team_id` must be a team of the account; otherwise the call returns `InvalidParameter`.\n- Every call is recorded in the account audit log.",
"href": "/en/api-reference/on-call/calendars/calendar-create",
"metadata": {
"sidebarTitle": "Create calendar"
Expand Down Expand Up @@ -20691,10 +20691,9 @@
},
"AddIncidentResponderRequest": {
"type": "object",
"description": "Parameters for adding responders to an existing incident.",
"description": "Parameters for adding responders to an existing incident. At least one of `person_ids` and `team_ids` is required.",
"required": [
"incident_id",
"person_ids"
"incident_id"
],
"properties": {
"incident_id": {
Expand All @@ -20708,7 +20707,17 @@
"type": "integer",
"format": "int64"
},
"description": "Member IDs to add as responders. IDs that are already responders, or that do not exist in the account, are skipped."
"maxItems": 100,
"description": "Member IDs to add as responders (at most 100). IDs that are already responders, or that do not exist in the account, are skipped."
},
"team_ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"maxItems": 20,
"description": "Team IDs whose members are added as responders (at most 20). Each team is expanded to its enabled members, merged with `person_ids`, and the result is capped at 100 responders."
},
"notify": {
"type": "object",
Expand Down Expand Up @@ -22046,7 +22055,7 @@
},
"AssignedTo": {
"type": "object",
"description": "Assignment target. In requests, set `person_ids`, `escalate_rule_id`, or `emails`; when none is set the server re-runs the channel's escalation rule matching. In responses the object is always present; an incident that was never assigned has empty `type`, `id`, and `assigned_at` of `0`.",
"description": "Assignment target. In requests, set `person_ids`, `team_ids`, `escalate_rule_id`, or `emails`; when none is set the server re-runs the channel's escalation rule matching. In responses the object is always present; an incident that was never assigned has empty `type`, `id`, and `assigned_at` of `0`.",
"properties": {
"person_ids": {
"type": "array",
Expand All @@ -22058,6 +22067,16 @@
"maxItems": 100,
"description": "Member IDs to assign directly."
},
"team_ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"minItems": 1,
"maxItems": 20,
"description": "Team IDs to assign by (1–20). Each team is expanded to its members that are enabled and merged into `person_ids` when the assignment runs, so a later membership change does not re-expand it; a selection whose teams hold no member of the account returns `InvalidParameter`, and the expanded responders are capped at 100 in total. Requests only: a stored assignment keeps the expanded members, so responses omit it."
},
"escalate_rule_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{24}$",
Expand Down Expand Up @@ -22214,6 +22233,10 @@
"type": "boolean",
"description": "Whether the event marks a non-working day."
},
"day_end": {
"type": "string",
"description": "Local wall-clock time (`HH:MM`) at which a working day closes early, e.g. `12:00`. Only events of a shared exchange calendar carry one; omitted for a full day."
},
"created_at": {
"type": "integer",
"format": "int64",
Expand All @@ -22235,7 +22258,7 @@
"properties": {
"cal_id": {
"type": "string",
"description": "Calendar ID; obtain it from `POST /calendar/list`."
"description": "Calendar ID, obtained from `POST /calendar/list`. A calendar listed there with `kind` = `exchange.holiday` is accepted too, so a trading calendar can be read directly."
},
"year": {
"type": "integer",
Expand Down Expand Up @@ -22309,6 +22332,10 @@
"weekly"
],
"description": "Layer that decided the day: custom = the calendar's own events, holiday = a linked holiday calendar, weekly = the weekly workdays. Absent when no event covers the day."
},
"day_end": {
"type": "string",
"description": "Local wall-clock time (`HH:MM`) at which the day ends, when it is a working day that closes early. Omitted for a full day or a day off."
}
}
},
Expand Down Expand Up @@ -22420,7 +22447,7 @@
"items": {
"type": "string"
},
"description": "Additional public-holiday calendar IDs to inherit events from (for example zh-cn.china.official)."
"description": "Additional public calendar IDs to inherit events from — `region.official.holiday` IDs such as `zh-cn.china.official`, plus at most one `exchange.holiday` calendar. Linking an exchange calendar sets this calendar's `timezone` to the exchange's, overriding the value you send; linking two of them returns `InvalidParameter`."
}
}
},
Expand Down Expand Up @@ -22506,9 +22533,10 @@
},
"kind": {
"type": "string",
"description": "Calendar kind. `region.official.holiday` is a public regional holiday calendar (served by the central holiday service), `religion.holiday` is a public religious holiday calendar (reserved, currently no data), and `personal` is an account-created personal/team calendar.",
"description": "Calendar kind. `region.official.holiday` is a public regional holiday calendar (served by the central holiday service), `exchange.holiday` is a shared stock-exchange calendar whose timezone is the exchange's and whose dates a rule may read directly, `religion.holiday` is a public religious holiday calendar (reserved, currently no data), and `personal` is an account-created personal/team calendar.",
"enum": [
"region.official.holiday",
"exchange.holiday",
"religion.holiday",
"personal"
]
Expand Down Expand Up @@ -22565,9 +22593,10 @@
"properties": {
"kind": {
"type": "string",
"description": "Calendar kind filter; defaults to personal when empty. `region.official.holiday` queries public regional holiday calendars (filtered by the caller's locale); `personal` queries account-created calendars.",
"description": "Calendar kind filter; defaults to personal when empty. `region.official.holiday` queries public regional holiday calendars (filtered by the caller's locale); `exchange.holiday` queries the shared stock-exchange calendars, whose `cal_id` a rule may read directly; `personal` queries account-created calendars.",
"enum": [
"region.official.holiday",
"exchange.holiday",
"personal"
]
},
Expand Down Expand Up @@ -22656,7 +22685,7 @@
"items": {
"type": "string"
},
"description": "Public holiday calendar IDs to inherit events from (see `POST /calendar/list` with `kind` = `region.official.holiday`). When sent, replaces the stored list; an empty array removes them all; omit to keep it."
"description": "Public calendar IDs to inherit events from (see `POST /calendar/list` with `kind` = `region.official.holiday` or `exchange.holiday`); at most one of them may be an `exchange.holiday` calendar, and linking one sets `timezone` to the exchange's. When sent, replaces the stored list; an empty array removes them all; omit to keep it."
}
}
},
Expand Down Expand Up @@ -23230,7 +23259,7 @@
},
"assigned_to": {
"type": "object",
"description": "Who to assign. When omitted or empty, the channel's escalation rules decide (a standalone incident gets no responders); required when the account has a create form. `person_ids`, `escalate_rule_id` and `emails` can be combined — responders are the union. Assignment runs after creation, and its failure does not undo the incident.",
"description": "Who to assign. When omitted or empty, the channel's escalation rules decide (a standalone incident gets no responders); required when the account has a create form. `person_ids`, `team_ids`, `escalate_rule_id` and `emails` can be combined — responders are the union. Assignment runs after creation, and its failure does not undo the incident.",
"properties": {
"person_ids": {
"type": "array",
Expand All @@ -23242,6 +23271,16 @@
"maxItems": 100,
"description": "Member IDs to assign directly (1–100). Can be combined with `escalate_rule_id`."
},
"team_ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"minItems": 1,
"maxItems": 20,
"description": "Team IDs to assign by (1–20). Each team is expanded to its members that are enabled and merged into `person_ids`; the responders are capped at 100 in total, and a selection whose teams hold no member of the account returns `InvalidParameter`."
},
"escalate_rule_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{24}$",
Expand Down Expand Up @@ -23292,7 +23331,7 @@
"template_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{24}$",
"description": "Notification template ID (MongoDB ObjectID)."
"description": "Notification template ID (MongoDB ObjectID). Must exist in the account, otherwise the call fails with `InvalidParameter`."
}
}
}
Expand Down Expand Up @@ -32187,7 +32226,7 @@
},
"cal_id": {
"type": "string",
"description": "Service calendar ID from `POST /calendar/list` (for example `cal.xxxx`). When set, the window applies only on the calendar's workdays or days off, as chosen by `is_off`."
"description": "Service calendar ID from `POST /calendar/list` (for example `cal.xxxx`, or a shared calendar such as `zh-cn.exchange.us`). When set, the window applies only on the calendar's workdays or days off as chosen by `is_off`, and `start` / `end` are read in that calendar's timezone — for a trading calendar, the exchange's — so the window means the same thing wherever the service runs."
},
"is_off": {
"type": "boolean",
Expand Down
Loading
Loading