Sorry MCP by usefulapi
Read status pages and incidents; make confirmed public changes and manage individual subscribers.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"sorry-app": {
"url": "https://sorry-app.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://sorry-app.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (21)
🟢sorryapp_list_pages
List the status pages the API token's user can access: id, name, state (operational/degraded/...), timezone, locale, support contacts, notification channels. The id is the page_id every other tool takes. Sorry: GET /v1/pages.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_get_page(page_id, include)
Get one status page, optionally with related resources embedded (brand, components, custom_domain, notices, notices.updates, theme). Sorry: GET /v1/pages/{page_id}?include=...
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"include": {
"description": "Related resources to embed in the reply.",
"maxItems": 7,
"type": "array",
"items": {
"type": "string",
"enum": [
"brand",
"components",
"custom_domain",
"notices",
"notices.updates",
"notices.components",
"theme"
]
}
}
},
"required": [
"page_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_list_components(page_id)
List a status page's components (the parts of your service shown on the page): id, name, description, state (operational/degraded/partially-degraded), position, parent_id. Sorry: GET /v1/pages/{page_id}/components.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
}
},
"required": [
"page_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_get_component(page_id, component_id)
Get one component of a status page. Sorry: GET /v1/pages/{page_id}/components/{component_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"component_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
],
"description": "The component id."
}
},
"required": [
"page_id",
"component_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_list_notices(page_id, state, type, subject_contains, created_after, ...)
List a status page's notices (incidents = type unplanned, maintenance = type planned): id, type, state, timeline_state, subject, synopsis, began/ended times, public link. Optional filters and embedded updates/components. Sorry: GET /v1/pages/{page_id}/notices.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"state": {
"description": "Only notices in this state (planned: scheduled, cancelled, underway, complete; unplanned: investigating, identified, recovering, resolved, false_alarm).",
"type": "string",
"enum": [
"scheduled",
"cancelled",
"underway",
"complete",
"investigating",
"identified",
"recovering",
"resolved",
"false_alarm"
]
},
"type": {
"description": "planned = maintenance, unplanned = incident.",
"type": "string",
"enum": [
"planned",
"unplanned"
]
},
"subject_contains": {
"description": "Only notices whose subject contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"created_after": {
"description": "Only notices created after this ISO 8601 date or datetime.",
"type": "string",
"minLength": 4,
"maxLength": 40
},
"include": {
"description": "Embed each notice's components and/or updates.",
"maxItems": 2,
"type": "array",
"items": {
"type": "string",
"enum": [
"components",
"updates"
]
}
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 10000
}
},
"required": [
"page_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_get_notice(page_id, notice_id, include)
Get one notice (incident or maintenance) with its state, times and public link. Sorry: GET /v1/pages/{page_id}/notices/{notice_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"notice_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
],
"description": "The notice id."
},
"include": {
"description": "Embed the notice's components and/or updates.",
"maxItems": 2,
"type": "array",
"items": {
"type": "string",
"enum": [
"components",
"updates"
]
}
}
},
"required": [
"page_id",
"notice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_list_notice_updates(page_id, notice_id)
List the updates (timeline comments) of one notice: id, content, should_publish, public link, times. Sorry: GET /v1/pages/{page_id}/notices/{notice_id}/updates.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"notice_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
],
"description": "The notice id."
}
},
"required": [
"page_id",
"notice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_get_notice_update(page_id, notice_id, update_id)
Get one update of a notice. Sorry: GET /v1/pages/{page_id}/notices/{notice_id}/updates/{update_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"notice_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
],
"description": "The notice id."
},
"update_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
],
"description": "The update id."
}
},
"required": [
"page_id",
"notice_id",
"update_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_list_notice_templates(page_id, name_contains, component_name_contains)
List the page's notice templates (reusable subject + opening comment for new incidents or maintenance): id, name, subject, initial_comment, optional component_id. Returns the vendor-default template page; paging controls are withheld pending a verified request contract. Sorry: GET /v1/pages/{page_id}/notice_templates.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"name_contains": {
"description": "Only templates whose name contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"component_name_contains": {
"description": "Only templates scoped to a component whose name contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"page_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_list_update_templates(page_id, name_contains, component_name_contains)
List the page's update templates (reusable text for one notice update): id, name, content, optional component_id. Returns the vendor-default template page; paging controls are withheld pending a verified request contract. Sorry: GET /v1/pages/{page_id}/update_templates.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"name_contains": {
"description": "Only templates whose name contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"component_name_contains": {
"description": "Only templates scoped to a component whose name contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"page_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_list_subscribers(page_id, component_id, include, page, per_page)
List a status page's subscribers (people and channels notified of notices): id, email, phone number, name, company, tags, created time. Webhook URLs of Slack/Teams subscribers are redacted. Contains personal data. Sorry: GET /v1/pages/{page_id}/subscribers.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"component_id": {
"description": "Only subscribers to this component (plus those subscribed to all components).",
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
]
},
"include": {
"description": "Embed each subscriber's components.",
"maxItems": 1,
"type": "array",
"items": {
"type": "string",
"enum": [
"components"
]
}
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"per_page": {
"description": "Results per page (Sorry's default for subscribers is 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"required": [
"page_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_get_subscriber(page_id, subscriber_id)
Get one subscriber of a status page (personal data; webhook URLs redacted). Sorry: GET /v1/pages/{page_id}/subscribers/{subscriber_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"subscriber_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
],
"description": "The subscriber id."
}
},
"required": [
"page_id",
"subscriber_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sorryapp_list_timezones
List the timezone names Sorry accepts for a status page (name and GMT offset label). Sorry: GET /v1/timezones.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴sorryapp_create_component(page_id, confirm, name, description)
WRITE: add a component to a status page. It appears on the PUBLIC status page immediately, as operational. Sorry: POST /v1/pages/{page_id}/components.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user approved this public status change or subscriber addition and any requested notification."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Component name, e.g. API."
},
"description": {
"description": "Optional text shown next to the name.",
"type": "string",
"maxLength": 1000
}
},
"required": [
"page_id",
"confirm",
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴sorryapp_update_component(page_id, confirm, component_id, name, description)
WRITE: rename a component or change its description on the PUBLIC status page (overwrites the previous value). It cannot change the component's state: state follows open notices (use the notice tools). Sorry: PATCH /v1/pages/{page_id}/components/{component_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user approved this public status change or subscriber addition and any requested notification."
},
"component_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
],
"description": "The component id."
},
"name": {
"description": "New name.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"description": {
"description": "New description.",
"type": "string",
"maxLength": 1000
}
},
"required": [
"page_id",
"confirm",
"component_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴sorryapp_create_incident(page_id, confirm, subject, initial_comment, component_ids, ...)
WRITE: open an incident (an unplanned notice) on the status page. These changes are PUBLIC on the status page, including publish=false. publish=true additionally requests delivery to subscribers and integrations (email, SMS, Slack, Teams, X); vendor SMS/notification charges may apply. Confirm the content and audience first. It marks the listed components degraded on the PUBLIC page. Starts in the investigating state. Sorry: POST /v1/pages/{page_id}/notices with type=unplanned.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user approved this public status change or subscriber addition and any requested notification."
},
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Incident title, e.g. API performance issues."
},
"initial_comment": {
"description": "First update shown on the incident (public).",
"type": "string",
"maxLength": 10000
},
"component_ids": {
"description": "Ids of the affected components (from sorryapp_list_components). While the notice is open they show as degraded.",
"maxItems": 100,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
]
}
},
"publish": {
"description": "should_publish: true also sends this out to subscribers and integrations (email, SMS, Slack, Teams, X). Default false: sent as should_publish=false to suppress the requested broadcast. The notice/change is still public; this does not make a private draft.",
"type": "boolean"
}
},
"required": [
"page_id",
"confirm",
"subject"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴sorryapp_create_maintenance(page_id, confirm, subject, initial_comment, begins_at_date, ...)
WRITE: schedule maintenance (a planned notice) on the status page. These changes are PUBLIC on the status page, including publish=false. publish=true additionally requests delivery to subscribers and integrations (email, SMS, Slack, Teams, X); vendor SMS/notification charges may apply. Confirm the content and audience first. Sorry: POST /v1/pages/{page_id}/notices with type=planned.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user approved this public status change or subscriber addition and any requested notification."
},
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Maintenance title."
},
"initial_comment": {
"description": "First update shown on the notice (public).",
"type": "string",
"maxLength": 10000
},
"begins_at_date": {
"description": "Start date, YYYY-MM-DD (in the status page's timezone).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"begins_at_time": {
"description": "Start time, 24-hour HH:MM:SS.",
"type": "string",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d)?$"
},
"duration_in_minutes": {
"description": "Expected length of the maintenance in minutes.",
"type": "integer",
"minimum": 1,
"maximum": 525600
},
"should_automate_schedule": {
"description": "true: Sorry moves the notice to underway and complete at the scheduled times.",
"type": "boolean"
},
"component_ids": {
"description": "Ids of the affected components (from sorryapp_list_components). While the notice is open they show as degraded.",
"maxItems": 100,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
]
}
},
"publish": {
"description": "should_publish: true also sends this out to subscribers and integrations (email, SMS, Slack, Teams, X). Default false: sent as should_publish=false to suppress the requested broadcast. The notice/change is still public; this does not make a private draft.",
"type": "boolean"
}
},
"required": [
"page_id",
"confirm",
"subject"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴sorryapp_update_notice(page_id, confirm, notice_id, state, subject, ...)
WRITE: change a notice: its subject, state (for example resolved), affected components, schedule, and/or add a comment (an update) to its timeline. These changes are PUBLIC on the status page, including publish=false. publish=true additionally requests delivery to subscribers and integrations (email, SMS, Slack, Teams, X); vendor SMS/notification charges may apply. Confirm the content and audience first. Fields you pass overwrite the previous values. Sorry: PATCH /v1/pages/{page_id}/notices/{notice_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user approved this public status change or subscriber addition and any requested notification."
},
"notice_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
],
"description": "The notice id."
},
"state": {
"description": "New state. Planned: scheduled, cancelled, underway, complete. Unplanned: investigating, identified, recovering, resolved, false_alarm.",
"type": "string",
"enum": [
"scheduled",
"cancelled",
"underway",
"complete",
"investigating",
"identified",
"recovering",
"resolved",
"false_alarm"
]
},
"subject": {
"description": "New subject.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"additional_comment": {
"description": "A new public update to add to the notice timeline. publish controls the requested subscriber/integration broadcast; false still changes the public page.",
"type": "string",
"maxLength": 10000
},
"component_ids": {
"description": "Ids of the affected components (from sorryapp_list_components). While the notice is open they show as degraded.",
"maxItems": 100,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
]
}
},
"begins_at_date": {
"description": "Planned notices only: new start date YYYY-MM-DD.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"begins_at_time": {
"description": "Planned notices only: new start time HH:MM:SS.",
"type": "string",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d)?$"
},
"duration_in_minutes": {
"description": "Planned notices only: new duration in minutes.",
"type": "integer",
"minimum": 1,
"maximum": 525600
},
"publish": {
"description": "should_publish: true also sends this out to subscribers and integrations (email, SMS, Slack, Teams, X). Default false: sent as should_publish=false to suppress the requested broadcast. The notice/change is still public; this does not make a private draft.",
"type": "boolean"
}
},
"required": [
"page_id",
"confirm",
"notice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴sorryapp_create_notice_update(page_id, notice_id, content, confirm_publish)
WRITE: add one update (a comment) to a notice's timeline. It is PUBLIC on the status page, and Sorry's docs say a new update is also published to the page's configured integrations (email, SMS, Slack, Teams, X). The docs list no switch to suppress that on this endpoint, so confirm_publish=true is required; this endpoint has no exposed suppression switch. Sorry: POST /v1/pages/{page_id}/notices/{notice_id}/updates.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"notice_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
],
"description": "The notice id."
},
"content": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "The update text."
},
"confirm_publish": {
"type": "boolean",
"const": true,
"description": "Must be true. Confirms you understand the update is published on the PUBLIC status page and pushed to subscribers and configured integrations (email, SMS, Slack, Teams, X): Sorry's docs offer no way to add an update without that."
}
},
"required": [
"page_id",
"notice_id",
"content",
"confirm_publish"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴sorryapp_edit_notice_update(page_id, confirm, notice_id, update_id, content)
WRITE: rewrite the text of an existing notice update on the PUBLIC status page (overwrites the previous text; the old text is not kept). Sorry: PATCH /v1/pages/{page_id}/notices/{notice_id}/updates/{update_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user approved this public status change or subscriber addition and any requested notification."
},
"notice_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
],
"description": "The notice id."
},
"update_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
],
"description": "The update id."
},
"content": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "The new text."
}
},
"required": [
"page_id",
"confirm",
"notice_id",
"update_id",
"content"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴sorryapp_create_subscriber(page_id, confirm, email, phone_number, component_ids)
WRITE: add ONE subscriber (an email address and/or a phone number) to a status page. From then on that person is emailed/texted about notices published on the page, and Sorry may send them a confirmation. Add only people who asked to be notified. No bulk import. Sorry: POST /v1/pages/{page_id}/subscribers.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The status page id, e.g. 12ab34cd (from sorryapp_list_pages)."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user approved this public status change or subscriber addition and any requested notification."
},
"email": {
"description": "The subscriber's email address.",
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone_number": {
"description": "Phone number with the international country code, e.g. +441234567890.",
"type": "string",
"pattern": "^\\+[0-9 ()-]{6,20}$"
},
"component_ids": {
"description": "Subscribe to only these components (default: all components).",
"maxItems": 100,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
]
}
}
},
"required": [
"page_id",
"confirm"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis