Sorry MCP by usefulapi
Read status pages and incidents; make confirmed public changes and manage individual subscribers.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"sorry-app": {
"url": "https://sorry-app.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://sorry-app.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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=...
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
}Comunidad
Evidencia