{
  "catalogVersion": 1,
  "schemaVersion": 1,
  "description": {
    "es": "Catálogo estático de la API de tareas y funciones de RouterClip: tipos de tarea, estados, señales, campos de PATCH, acciones con su scope, actor y esquema de entrada, y las rutas de recurso que ejecutan cada acción. GET /api/v1/task-kinds devuelve lo mismo, filtrado a lo que puede leer tu clave.",
    "en": "Static catalog of the RouterClip task and function API: task kinds, statuses, signals, PATCH fields, actions with their scope, actor and input schema, and the resource routes that run each action. GET /api/v1/task-kinds answers the same, filtered to what your key can read."
  },
  "guide": "docs/API-V1-TAREAS.md",
  "openapi": "/developers/api-v1.json",
  "taskActionPath": "/api/v1/tasks/{task_id}/actions/{action}",
  "statuses": [
    "open",
    "in_progress",
    "waiting",
    "needs_review",
    "done",
    "cancelled"
  ],
  "signals": [
    "overdue",
    "due_soon",
    "decision_due",
    "unassigned",
    "unread",
    "handoff",
    "ai_handling",
    "ai_review",
    "snoozed",
    "sla_response_at_risk",
    "sla_response_breached",
    "sla_resolution_at_risk",
    "sla_resolution_breached",
    "sla_escalated",
    "missing_fields",
    "stale_stage",
    "no_next_activity",
    "close_date_passed",
    "uncertain",
    "failed",
    "error",
    "reconnect_required",
    "verification_lost",
    "merge_blocked",
    "inconclusive"
  ],
  "priorities": [
    "low",
    "normal",
    "high",
    "urgent"
  ],
  "dueKinds": [
    "due",
    "sla_first_response",
    "sla_resolution",
    "wake",
    "expected_close",
    "send_at",
    "decision_deadline",
    "undo_until",
    "next_run",
    "booking_start",
    "expires"
  ],
  "linkTypes": [
    "contact",
    "company",
    "deal",
    "activity",
    "ticket",
    "conversation",
    "campaign",
    "sequence",
    "enrollment",
    "playbook",
    "playbook_session",
    "automation",
    "form",
    "site",
    "booking",
    "voice_call",
    "knowledge_document",
    "channel_account",
    "webhook_endpoint",
    "merge_operation"
  ],
  "unavailableReasons": [
    "STATE",
    "DELEGATED_USER_REQUIRED",
    "MAILBOX_OWNER_REQUIRED",
    "SCOPE_MISSING",
    "FEATURE_DISABLED",
    "SEND_SWITCH_OFF",
    "ACTOR_ROLE_INSUFFICIENT",
    "MENTION_RECIPIENT_REQUIRED"
  ],
  "patchFields": [
    "title",
    "description",
    "status",
    "sourceStatus",
    "priority",
    "dueAt",
    "assigneeId",
    "teamId",
    "category",
    "activityKind",
    "contactId",
    "dealId",
    "ticketId"
  ],
  "actorModes": [
    "service",
    "delegated",
    "owner",
    "recipient"
  ],
  "kinds": [
    {
      "kind": "calendar.booking",
      "area": "calendar",
      "entity": "calendar_booking",
      "name": {
        "es": "Cita sin confirmar",
        "en": "Unconfirmed booking"
      },
      "features": [],
      "statuses": [
        "needs_review",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "pending",
        "requesting",
        "confirmed",
        "cancelled",
        "superseded"
      ],
      "signals": [
        "uncertain",
        "overdue"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "reconcile",
          "scope": "calendar:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "calendar_booking:checked_with_provider"
          ],
          "leadsTo": [
            "done",
            "cancelled",
            "needs_review"
          ],
          "title": {
            "es": "Comprobar con el calendario",
            "en": "Check with the calendar"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "channel.health",
      "area": "channels",
      "entity": "channel_health",
      "name": {
        "es": "Salud de un canal, una conexión o un dominio",
        "en": "Health of a channel, connection or domain"
      },
      "features": [],
      "statuses": [
        "needs_review",
        "done"
      ],
      "sourceStatuses": [
        "configured",
        "verified",
        "error",
        "disabled",
        "archived",
        "unverified",
        "verification_lost",
        "retired",
        "pending_verification",
        "pending_apply",
        "applied"
      ],
      "signals": [
        "error",
        "reconnect_required",
        "verification_lost"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "verify",
          "scope": "channels:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "channel:verified"
          ],
          "leadsTo": [
            "done",
            "needs_review"
          ],
          "title": {
            "es": "Verificar con el proveedor",
            "en": "Verify with the provider"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "crm.activity",
      "area": "activities",
      "entity": "crm_activity",
      "name": {
        "es": "Seguimiento del CRM",
        "en": "CRM follow-up"
      },
      "features": [],
      "statuses": [
        "open",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "open",
        "done",
        "cancelled"
      ],
      "signals": [
        "overdue",
        "due_soon"
      ],
      "etag": "revision",
      "patch": {
        "fields": [
          "title",
          "description",
          "activityKind",
          "status",
          "priority",
          "dueAt",
          "assigneeId",
          "contactId",
          "dealId",
          "ticketId"
        ],
        "statuses": [
          "open",
          "done",
          "cancelled"
        ],
        "scope": "activities:write",
        "statusActions": {
          "open": "reopen",
          "done": "complete",
          "cancelled": "cancel"
        },
        "groups": [
          [
            "title",
            "description",
            "activityKind",
            "status",
            "priority",
            "dueAt",
            "assigneeId",
            "contactId",
            "dealId",
            "ticketId"
          ]
        ]
      },
      "creatable": true,
      "create": {
        "scope": "activities:write",
        "inputSchema": {
          "additionalProperties": false,
          "description": "The fields of a new follow-up (``kind`` and ``externalLink`` are handled by the task API).",
          "properties": {
            "title": {
              "maxLength": 200,
              "minLength": 1,
              "title": "Title",
              "type": "string"
            },
            "activityKind": {
              "default": "task",
              "description": "task, call, email or meeting.",
              "pattern": "^(task|call|email|meeting)$",
              "title": "Activitykind",
              "type": "string"
            },
            "dueAt": {
              "description": "RFC 3339 with its zone.",
              "format": "date-time",
              "title": "Dueat",
              "type": "string"
            },
            "priority": {
              "default": "normal",
              "description": "normal or high.",
              "pattern": "^(normal|high)$",
              "title": "Priority",
              "type": "string"
            },
            "description": {
              "default": "",
              "maxLength": 10000,
              "title": "Description",
              "type": "string"
            },
            "assigneeId": {
              "anyOf": [
                {
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "An active administrator or agent; by default the delegated user (X-AIO-Act-As or the source's default user) or nobody. null: unassigned.",
              "title": "Assigneeid"
            },
            "contactId": {
              "anyOf": [
                {
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Contactid"
            },
            "dealId": {
              "anyOf": [
                {
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Dealid"
            },
            "ticketId": {
              "anyOf": [
                {
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "A ticket of the company that was not merged.",
              "title": "Ticketid"
            }
          },
          "required": [
            "title",
            "dueAt"
          ],
          "title": "ActivityInput",
          "type": "object"
        }
      },
      "notes": null,
      "history": true,
      "completion": "complete",
      "deprecated": false,
      "actions": [
        {
          "name": "complete",
          "scope": "activities:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:done",
            "history:status_changed"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Completar",
            "en": "Complete"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "reopen",
          "scope": "activities:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:open",
            "history:status_changed"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Reabrir",
            "en": "Reopen"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "cancel",
          "scope": "activities:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:cancelled",
            "history:status_changed"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Cancelar",
            "en": "Cancel"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "reschedule",
          "scope": "activities:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "dueAt",
            "history:rescheduled"
          ],
          "leadsTo": [],
          "title": {
            "es": "Aplazar",
            "en": "Reschedule"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "dueAt": {
                "description": "The new due date (RFC 3339 with its zone).",
                "format": "date-time",
                "title": "Dueat",
                "type": "string"
              }
            },
            "required": [
              "dueAt"
            ],
            "title": "RescheduleInput",
            "type": "object"
          }
        },
        {
          "name": "reassign",
          "scope": "activities:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "assignee",
            "history:reassigned"
          ],
          "leadsTo": [],
          "title": {
            "es": "Reasignar",
            "en": "Reassign"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "assigneeId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "An active administrator or agent of the company (GET /api/v1/members); null leaves it unassigned.",
                "title": "Assigneeid"
              }
            },
            "required": [
              "assigneeId"
            ],
            "title": "ReassignInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "crm.deal_attention",
      "area": "deals",
      "entity": "opportunity",
      "name": {
        "es": "Oportunidad con avisos",
        "en": "Deal needing attention"
      },
      "features": [],
      "statuses": [
        "open",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "open",
        "won",
        "lost",
        "archived"
      ],
      "signals": [
        "overdue",
        "missing_fields",
        "stale_stage",
        "no_next_activity",
        "close_date_passed"
      ],
      "etag": "revision",
      "patch": {
        "fields": [
          "assigneeId",
          "dueAt"
        ],
        "statuses": [],
        "scope": "deals:write",
        "statusActions": {},
        "groups": [
          [
            "assigneeId",
            "dueAt"
          ]
        ]
      },
      "creatable": false,
      "create": null,
      "notes": null,
      "history": true,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "update_deal",
          "scope": "deals:write",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "deal:updated",
            "history:updated"
          ],
          "leadsTo": [],
          "title": {
            "es": "Editar la oportunidad",
            "en": "Update the deal"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The fields of a deal the API may change (``PATCH /api/v1/deals/{id}`` and the action ``update_deal``).",
            "properties": {
              "title": {
                "anyOf": [
                  {
                    "maxLength": 255,
                    "minLength": 2,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Title"
              },
              "amount": {
                "anyOf": [
                  {
                    "description": "A decimal string such as \"1200.50\" or a whole number (never a JSON float).",
                    "type": [
                      "string",
                      "integer"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Amount"
              },
              "currency": {
                "anyOf": [
                  {
                    "pattern": "^[A-Z]{3}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "ISO 4217 code.",
                "title": "Currency"
              },
              "ownerId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "An active administrator or agent; null: unassigned.",
                "title": "Ownerid"
              },
              "expectedClose": {
                "anyOf": [
                  {
                    "maxLength": 10,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "YYYY-MM-DD; null clears it.",
                "title": "Expectedclose"
              },
              "stage": {
                "anyOf": [
                  {
                    "enum": [
                      "lead",
                      "qualified",
                      "proposal",
                      "negotiation",
                      "won",
                      "lost"
                    ],
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Canonical stage; won or lost needs deals:execute.",
                "title": "Stage"
              },
              "pipelineId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Moves the deal to the first open stage of this pipeline.",
                "title": "Pipelineid"
              },
              "stageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "A stage of GET /api/v1/pipelines.",
                "title": "Stageid"
              },
              "lostReason": {
                "anyOf": [
                  {
                    "maxLength": 1000,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Lostreason"
              },
              "probabilityOverride": {
                "anyOf": [
                  {
                    "maximum": 100,
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "0-100; null: the stage's.",
                "title": "Probabilityoverride"
              },
              "forecastCategory": {
                "anyOf": [
                  {
                    "enum": [
                      "pipeline",
                      "best_case",
                      "commit",
                      "omitted"
                    ],
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Forecastcategory"
              },
              "customValues": {
                "anyOf": [
                  {
                    "additionalProperties": true,
                    "maxProperties": 100,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Values of the deal's custom fields by key (only those sent).",
                "title": "Customvalues"
              }
            },
            "title": "DealPatchInput",
            "type": "object"
          }
        },
        {
          "name": "win",
          "scope": "deals:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "stage:won",
            "history:stage_changed",
            "event:deal.won"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Marcar como ganada",
            "en": "Mark as won"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "stageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "A won stage of the deal's pipeline (the first one by default).",
                "title": "Stageid"
              }
            },
            "title": "WinInput",
            "type": "object"
          }
        },
        {
          "name": "lose",
          "scope": "deals:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "stage:lost",
            "history:stage_changed",
            "event:deal.lost"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Marcar como perdida",
            "en": "Mark as lost"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "lostReason": {
                "anyOf": [
                  {
                    "maxLength": 1000,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Why it was lost; a lost deal needs it.",
                "title": "Lostreason"
              },
              "stageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "A lost stage of the deal's pipeline (the first one by default).",
                "title": "Stageid"
              }
            },
            "title": "LoseInput",
            "type": "object"
          }
        },
        {
          "name": "reopen",
          "scope": "deals:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "stage:open",
            "history:stage_changed",
            "event:deal.reopened"
          ],
          "leadsTo": [],
          "title": {
            "es": "Reabrir",
            "en": "Reopen"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "stageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "An open stage of the deal's pipeline; by default the stage it was closed from, else the first open stage.",
                "title": "Stageid"
              }
            },
            "title": "ReopenInput",
            "type": "object"
          }
        },
        {
          "name": "archive",
          "scope": "deals:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "archived",
            "history:archived",
            "event:deal.archived"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Archivar",
            "en": "Archive"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "restore",
          "scope": "deals:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "restored",
            "history:restored",
            "event:deal.restored"
          ],
          "leadsTo": [],
          "title": {
            "es": "Restaurar",
            "en": "Restore"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "schedule_next_activity",
          "scope": "deals:write",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "activity:created",
            "history:created"
          ],
          "leadsTo": [],
          "title": {
            "es": "Programar la siguiente actividad",
            "en": "Schedule the next activity"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "title": {
                "maxLength": 200,
                "minLength": 1,
                "title": "Title",
                "type": "string"
              },
              "dueAt": {
                "description": "RFC 3339 with its zone.",
                "format": "date-time",
                "title": "Dueat",
                "type": "string"
              },
              "activityKind": {
                "default": "task",
                "enum": [
                  "task",
                  "call",
                  "email",
                  "meeting"
                ],
                "title": "Activitykind",
                "type": "string"
              },
              "priority": {
                "default": "normal",
                "enum": [
                  "normal",
                  "high"
                ],
                "title": "Priority",
                "type": "string"
              },
              "description": {
                "default": "",
                "maxLength": 10000,
                "title": "Description",
                "type": "string"
              },
              "assigneeId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "An active administrator or agent; by default the deal's owner (else the delegated user, else nobody); null: unassigned.",
                "title": "Assigneeid"
              }
            },
            "required": [
              "title",
              "dueAt"
            ],
            "title": "ScheduleInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "crm.duplicate_review",
      "area": "duplicates",
      "entity": "duplicate_pair",
      "name": {
        "es": "Posibles duplicados",
        "en": "Possible duplicates"
      },
      "features": [
        "crm.merge"
      ],
      "statuses": [
        "open",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "pending",
        "dismissed",
        "merged"
      ],
      "signals": [
        "merge_blocked"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "dismiss",
          "scope": "duplicates:write",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "decision:not_duplicate",
            "status:cancelled"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Descartar: no son duplicados",
            "en": "Dismiss: not duplicates"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``dismiss`` and ``restore``.",
            "properties": {
              "fingerprint": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The fingerprint you saw (GET /api/v1/duplicates); a different current one is 409 DUPLICATE_FINGERPRINT_STALE.",
                "title": "Fingerprint"
              }
            },
            "title": "DecisionInput",
            "type": "object"
          }
        },
        {
          "name": "restore",
          "scope": "duplicates:write",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "decision:clear",
            "status:open"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Volver a revisar el par",
            "en": "Review the pair again"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``dismiss`` and ``restore``.",
            "properties": {
              "fingerprint": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The fingerprint you saw (GET /api/v1/duplicates); a different current one is 409 DUPLICATE_FINGERPRINT_STALE.",
                "title": "Fingerprint"
              }
            },
            "title": "DecisionInput",
            "type": "object"
          }
        },
        {
          "name": "preview_merge",
          "scope": "duplicates:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": true,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [],
          "leadsTo": [],
          "title": {
            "es": "Vista previa de la fusión",
            "en": "Merge preview"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``preview_merge`` (and the dryRun of ``merge``).",
            "properties": {
              "survivorId": {
                "description": "The record you keep: one of the pair.",
                "maxLength": 64,
                "minLength": 1,
                "title": "Survivorid",
                "type": "string"
              },
              "choices": {
                "additionalProperties": true,
                "description": "Difference key → survivor, source or union (or a list for tags).",
                "maxProperties": 200,
                "title": "Choices",
                "type": "object"
              },
              "roleChoices": {
                "additionalProperties": true,
                "description": "Customer companies: contact ID → survivor, source or {value}.",
                "maxProperties": 500,
                "title": "Rolechoices",
                "type": "object"
              },
              "reason": {
                "default": "",
                "description": "Why: kept in the merge (required to merge).",
                "maxLength": 500,
                "title": "Reason",
                "type": "string"
              }
            },
            "required": [
              "survivorId"
            ],
            "title": "PreviewInput",
            "type": "object"
          }
        },
        {
          "name": "merge",
          "scope": "duplicates:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": true,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [
            "planHash",
            "expiresAt"
          ],
          "effects": [],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Fusionar",
            "en": "Merge"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``merge``: the previewed plan with its tokens.",
            "properties": {
              "survivorId": {
                "description": "The record you keep: one of the pair.",
                "maxLength": 64,
                "minLength": 1,
                "title": "Survivorid",
                "type": "string"
              },
              "choices": {
                "additionalProperties": true,
                "description": "Difference key → survivor, source or union (or a list for tags).",
                "maxProperties": 200,
                "title": "Choices",
                "type": "object"
              },
              "roleChoices": {
                "additionalProperties": true,
                "description": "Customer companies: contact ID → survivor, source or {value}.",
                "maxProperties": 500,
                "title": "Rolechoices",
                "type": "object"
              },
              "reason": {
                "default": "",
                "description": "Why: kept in the merge (required to merge).",
                "maxLength": 500,
                "title": "Reason",
                "type": "string"
              },
              "planHash": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.planHash of the dryRun (required to run).",
                "title": "Planhash"
              },
              "expiresAt": {
                "anyOf": [
                  {
                    "format": "date-time",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.expiresAt of the dryRun (required to run; 15 minutes).",
                "title": "Expiresat"
              }
            },
            "required": [
              "survivorId"
            ],
            "title": "MergeInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "crm.merge_review",
      "area": "duplicates",
      "entity": "merge_operation",
      "name": {
        "es": "Revisión de fusiones",
        "en": "Merge review"
      },
      "features": [
        "crm.merge"
      ],
      "statuses": [
        "needs_review",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "review_pending",
        "reviewed",
        "undone"
      ],
      "signals": [
        "overdue"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "review",
          "scope": "duplicates:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "reviewPending:false",
            "status:done"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Marcar como revisada",
            "en": "Mark as reviewed"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "undo",
          "scope": "duplicates:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": true,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [
            "planHash",
            "expiresAt"
          ],
          "effects": [],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Deshacer la fusión",
            "en": "Undo the merge"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``undo``: the tokens of its dryRun (the undo preview).",
            "properties": {
              "planHash": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.planHash of the dryRun (required to run).",
                "title": "Planhash"
              },
              "expiresAt": {
                "anyOf": [
                  {
                    "format": "date-time",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.expiresAt of the dryRun (required to run; 15 minutes).",
                "title": "Expiresat"
              }
            },
            "title": "UndoInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "crm.playbook_session",
      "area": "playbooks",
      "entity": "playbook_session",
      "name": {
        "es": "Sesión de guion comercial",
        "en": "Sales playbook session"
      },
      "features": [
        "crm.playbooks"
      ],
      "statuses": [
        "in_progress",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "draft",
        "completed",
        "abandoned"
      ],
      "signals": [
        "overdue",
        "due_soon"
      ],
      "etag": "revision",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": true,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "save",
          "scope": "playbooks:write",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.playbooks",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "answers:saved",
            "revision:+1"
          ],
          "leadsTo": [],
          "title": {
            "es": "Guardar respuestas",
            "en": "Save answers"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``save`` (and the PATCH of the resource): the answers (all of them: they replace the saved ones) and/or the\nnotes of an open session.",
            "properties": {
              "answers": {
                "anyOf": [
                  {
                    "additionalProperties": true,
                    "maxProperties": 50,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Answers keyed by question ID of the pinned version (GET /api/v1/playbook-sessions/{id}: version.definition); they replace the saved ones (null clears them). A null for a question in redactedQuestionIds keeps its saved answer, so sending back the answers you read never clears what you could not read.",
                "title": "Answers"
              },
              "notes": {
                "anyOf": [
                  {
                    "maxLength": 10000,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Plain-text notes of the session.",
                "title": "Notes"
              }
            },
            "title": "SaveInput",
            "type": "object"
          }
        },
        {
          "name": "complete",
          "scope": "playbooks:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": true,
          "returns202": false,
          "feature": "crm.playbooks",
          "sendSwitches": [],
          "confirmFields": [
            "expectedValues",
            "target"
          ],
          "effects": [
            "fields:written",
            "note:created",
            "activity:created?",
            "activity:completed?",
            "status:done"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Completar el guion",
            "en": "Complete the playbook"
          },
          "inputSchema": {
            "$defs": {
              "FieldExpectationInput": {
                "additionalProperties": false,
                "description": "A selected destination and the value the preview showed for it (``confirm.expectedValues`` of the dryRun).",
                "properties": {
                  "entity": {
                    "description": "The record the mapped field belongs to.",
                    "enum": [
                      "contact",
                      "opportunity"
                    ],
                    "title": "Entity",
                    "type": "string"
                  },
                  "fieldId": {
                    "maxLength": 64,
                    "minLength": 1,
                    "title": "Fieldid",
                    "type": "string"
                  },
                  "value": {
                    "default": null,
                    "description": "The current value the preview showed (null when it was empty).",
                    "title": "Value"
                  }
                },
                "required": [
                  "entity",
                  "fieldId"
                ],
                "title": "FieldExpectationInput",
                "type": "object"
              },
              "NextActivityInput": {
                "additionalProperties": false,
                "description": "The next follow-up the completion creates (origin playbook).",
                "properties": {
                  "title": {
                    "maxLength": 200,
                    "minLength": 1,
                    "title": "Title",
                    "type": "string"
                  },
                  "activityKind": {
                    "default": "task",
                    "enum": [
                      "task",
                      "call",
                      "email",
                      "meeting"
                    ],
                    "title": "Activitykind",
                    "type": "string"
                  },
                  "dueAt": {
                    "description": "RFC 3339 with its zone.",
                    "format": "date-time",
                    "title": "Dueat",
                    "type": "string"
                  },
                  "assigneeId": {
                    "anyOf": [
                      {
                        "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "An active administrator or agent; by default the delegated user.",
                    "title": "Assigneeid"
                  },
                  "description": {
                    "default": "",
                    "maxLength": 10000,
                    "title": "Description",
                    "type": "string"
                  },
                  "priority": {
                    "default": "normal",
                    "enum": [
                      "normal",
                      "high"
                    ],
                    "title": "Priority",
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "dueAt"
                ],
                "title": "NextActivityInput",
                "type": "object"
              },
              "TargetInput": {
                "additionalProperties": false,
                "description": "The records the preview showed (``confirm.target`` of the dryRun).",
                "properties": {
                  "contactId": {
                    "maxLength": 64,
                    "minLength": 1,
                    "title": "Contactid",
                    "type": "string"
                  },
                  "dealId": {
                    "anyOf": [
                      {
                        "maxLength": 64,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Dealid"
                  },
                  "activityId": {
                    "anyOf": [
                      {
                        "maxLength": 64,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Activityid"
                  }
                },
                "required": [
                  "contactId"
                ],
                "title": "TargetInput",
                "type": "object"
              }
            },
            "additionalProperties": false,
            "description": "``complete``: run it with ``dryRun`` first and send its ``confirm`` (``expectedValues`` and ``target``).",
            "properties": {
              "expectedValues": {
                "anyOf": [
                  {
                    "items": {
                      "$ref": "#/$defs/FieldExpectationInput"
                    },
                    "maxItems": 50,
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.expectedValues of the dryRun (required to run; [] writes no field).",
                "title": "Expectedvalues"
              },
              "target": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/TargetInput"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.target of the dryRun (required to run)."
              },
              "nextActivity": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/NextActivityInput"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "completeActivity": {
                "default": false,
                "description": "Also mark the linked open follow-up as done.",
                "title": "Completeactivity",
                "type": "boolean"
              }
            },
            "title": "CompleteInput",
            "type": "object"
          }
        },
        {
          "name": "abandon",
          "scope": "playbooks:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.playbooks",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:cancelled"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Abandonar la sesión",
            "en": "Abandon the session"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``abandon``: close the session without effects, keeping its answers.",
            "properties": {
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 1000,
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Why (plain text); a generic reason in the session's language by default.",
                "title": "Reason"
              }
            },
            "title": "AbandonInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "integration.webhook_failed",
      "area": "webhooks",
      "entity": "webhook_endpoint",
      "name": {
        "es": "Webhook con entregas fallidas",
        "en": "Webhook with failed deliveries"
      },
      "features": [],
      "statuses": [
        "needs_review",
        "done"
      ],
      "sourceStatuses": [
        "enabled",
        "receiver_gone",
        "disabled"
      ],
      "signals": [
        "failed",
        "error"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "retry",
          "scope": "webhooks:manage",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "webhook_deliveries:requeued"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Reintentar las entregas fallidas",
            "en": "Retry the failed deliveries"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "deliveryId": {
                "anyOf": [
                  {
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "A failed delivery of the endpoint; without it, every failed delivery of the endpoint (up to 100) is queued again with a new series of attempts.",
                "title": "Deliveryid"
              }
            },
            "title": "RetryInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "knowledge.source_error",
      "area": "knowledge",
      "entity": "knowledge_document",
      "name": {
        "es": "Fuente de conocimiento con error",
        "en": "Knowledge source with an error"
      },
      "features": [],
      "statuses": [
        "needs_review",
        "done"
      ],
      "sourceStatuses": [
        "indexed",
        "local",
        "index_pending"
      ],
      "signals": [
        "error",
        "failed"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "refresh",
          "scope": "knowledge:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "knowledge_document:refreshed_from_source"
          ],
          "leadsTo": [
            "done",
            "needs_review"
          ],
          "title": {
            "es": "Actualizar desde la fuente",
            "en": "Refresh from the source"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "marketing.campaign",
      "area": "campaigns",
      "entity": "marketing_campaign",
      "name": {
        "es": "Campaña",
        "en": "Campaign"
      },
      "features": [],
      "statuses": [
        "open",
        "in_progress",
        "waiting",
        "needs_review",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "draft",
        "scheduled",
        "running",
        "paused",
        "completed",
        "cancelled"
      ],
      "signals": [
        "error"
      ],
      "etag": "hash",
      "patch": {
        "fields": [
          "title"
        ],
        "statuses": [],
        "scope": "campaigns:write",
        "statusActions": {},
        "groups": [
          [
            "title"
          ]
        ]
      },
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "preview",
          "scope": "campaigns:write",
          "actor": "service",
          "role": "agent",
          "preview": true,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [],
          "leadsTo": [],
          "title": {
            "es": "Revisar la audiencia",
            "en": "Review the audience"
          },
          "inputSchema": {
            "$defs": {
              "ScheduleSpec": {
                "additionalProperties": false,
                "description": "``schedule`` of ``/preview`` and ``/schedule`` (OPTIMIZACIÓN §4).",
                "properties": {
                  "version": {
                    "const": 1,
                    "default": 1,
                    "title": "Version",
                    "type": "integer"
                  },
                  "mode": {
                    "default": "fixed",
                    "enum": [
                      "fixed",
                      "recipientLocal"
                    ],
                    "title": "Mode",
                    "type": "string"
                  },
                  "localDate": {
                    "anyOf": [
                      {
                        "format": "date",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Localdate"
                  },
                  "localTime": {
                    "anyOf": [
                      {
                        "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Localtime"
                  },
                  "fallbackTimezone": {
                    "anyOf": [
                      {
                        "maxLength": 64,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Fallbacktimezone"
                  },
                  "earliestAt": {
                    "anyOf": [
                      {
                        "format": "date-time",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Earliestat"
                  }
                },
                "title": "ScheduleSpec",
                "type": "object"
              }
            },
            "additionalProperties": false,
            "properties": {
              "schedule": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ScheduleSpec"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The same schedule the execution will use (recipient local time for email and SMS); without it, fixed."
              }
            },
            "title": "PreviewInput",
            "type": "object"
          }
        },
        {
          "name": "schedule",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": true,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [
            "audienceFingerprint"
          ],
          "effects": [
            "campaign:scheduled",
            "recipients:frozen"
          ],
          "leadsTo": [
            "in_progress"
          ],
          "title": {
            "es": "Programar",
            "en": "Schedule"
          },
          "inputSchema": {
            "$defs": {
              "ScheduleSpec": {
                "additionalProperties": false,
                "description": "``schedule`` of ``/preview`` and ``/schedule`` (OPTIMIZACIÓN §4).",
                "properties": {
                  "version": {
                    "const": 1,
                    "default": 1,
                    "title": "Version",
                    "type": "integer"
                  },
                  "mode": {
                    "default": "fixed",
                    "enum": [
                      "fixed",
                      "recipientLocal"
                    ],
                    "title": "Mode",
                    "type": "string"
                  },
                  "localDate": {
                    "anyOf": [
                      {
                        "format": "date",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Localdate"
                  },
                  "localTime": {
                    "anyOf": [
                      {
                        "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Localtime"
                  },
                  "fallbackTimezone": {
                    "anyOf": [
                      {
                        "maxLength": 64,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Fallbacktimezone"
                  },
                  "earliestAt": {
                    "anyOf": [
                      {
                        "format": "date-time",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Earliestat"
                  }
                },
                "title": "ScheduleSpec",
                "type": "object"
              }
            },
            "additionalProperties": false,
            "properties": {
              "audienceFingerprint": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Required to execute: confirm.audienceFingerprint of the dryRun. A different audience answers 409 AUDIENCE_CHANGED.",
                "title": "Audiencefingerprint"
              },
              "sendAt": {
                "anyOf": [
                  {
                    "format": "date-time",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "RFC 3339 with its zone; now when absent. Push freezes expiresAt = sendAt + ttlMinutes.",
                "title": "Sendat"
              },
              "schedule": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ScheduleSpec"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The schedule of the dryRun (recipient local time)."
              }
            },
            "title": "ScheduleInput",
            "type": "object"
          }
        },
        {
          "name": "pause",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "campaign:paused"
          ],
          "leadsTo": [
            "waiting"
          ],
          "title": {
            "es": "Pausar",
            "en": "Pause"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "resume",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "campaign:scheduled",
            "experiment:due_applied"
          ],
          "leadsTo": [
            "in_progress"
          ],
          "title": {
            "es": "Reanudar",
            "en": "Resume"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "cancel",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "campaign:cancelled",
            "recipients:queued_cancelled"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Cancelar",
            "en": "Cancel"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "clone",
          "scope": "campaigns:write",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "campaign:draft_created"
          ],
          "leadsTo": [],
          "title": {
            "es": "Duplicar",
            "en": "Clone"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "maxLength": 160,
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Name of the copy; «<name> (copia)» by default.",
                "title": "Name"
              }
            },
            "title": "CloneInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "marketing.conversion_reconciliation",
      "area": "conversions",
      "entity": "marketing_conversion",
      "name": {
        "es": "Conciliación de conversión",
        "en": "Conversion reconciliation"
      },
      "features": [
        "marketing.tracking"
      ],
      "statuses": [
        "open",
        "done"
      ],
      "sourceStatuses": [
        "reported",
        "paid_declared",
        "partially_refunded",
        "refunded",
        "review",
        "unreconciled",
        "reconciled"
      ],
      "signals": [],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "link",
          "scope": "conversions:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "conversion:reconciled",
            "link:audited"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Vincular a mano",
            "en": "Link by hand"
          },
          "inputSchema": {
            "$defs": {
              "LinkTarget": {
                "additionalProperties": false,
                "properties": {
                  "type": {
                    "description": "deal (an opportunity of the company), order (a declared order: id is its orderId) or contact.",
                    "enum": [
                      "deal",
                      "order",
                      "contact"
                    ],
                    "title": "Type",
                    "type": "string"
                  },
                  "id": {
                    "description": "The deal or contact ID, or the orderId of the order.",
                    "maxLength": 64,
                    "minLength": 1,
                    "title": "Id",
                    "type": "string"
                  },
                  "conversionId": {
                    "anyOf": [
                      {
                        "maxLength": 64,
                        "minLength": 1,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Only for an order declared by several sources (409 ORDER_AMBIGUOUS lists them): the conversion of the order.",
                    "title": "Conversionid"
                  }
                },
                "required": [
                  "type",
                  "id"
                ],
                "title": "LinkTarget",
                "type": "object"
              }
            },
            "additionalProperties": false,
            "properties": {
              "target": {
                "$ref": "#/$defs/LinkTarget"
              },
              "reason": {
                "description": "Why (15-500 characters): kept with the link for the audit.",
                "maxLength": 500,
                "minLength": 15,
                "title": "Reason",
                "type": "string"
              }
            },
            "required": [
              "target",
              "reason"
            ],
            "title": "LinkInput",
            "type": "object"
          }
        },
        {
          "name": "revoke_link",
          "scope": "conversions:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "link:revoked",
            "conversion:previous_status",
            "revocation:audited"
          ],
          "leadsTo": [
            "open",
            "done"
          ],
          "title": {
            "es": "Revocar el vínculo",
            "en": "Revoke the link"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "linkId": {
                "description": "An active manual link of this conversion.",
                "maxLength": 64,
                "minLength": 1,
                "title": "Linkid",
                "type": "string"
              },
              "reason": {
                "description": "Why it is revoked (15-500 characters): kept with the revocation for the audit.",
                "maxLength": 500,
                "minLength": 15,
                "title": "Reason",
                "type": "string"
              }
            },
            "required": [
              "linkId",
              "reason"
            ],
            "title": "RevokeLinkInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "marketing.delivery_review",
      "area": "campaigns",
      "entity": "campaign_delivery",
      "name": {
        "es": "Revisión de envíos de campaña",
        "en": "Campaign delivery review"
      },
      "features": [],
      "statuses": [
        "needs_review",
        "done"
      ],
      "sourceStatuses": [
        "draft",
        "scheduled",
        "running",
        "paused",
        "completed",
        "cancelled"
      ],
      "signals": [
        "uncertain",
        "failed"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "review_recipient",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "recipient:confirmed_or_requeued"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Revisar un envío",
            "en": "Review a send"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "recipientId": {
                "description": "A recipient of this campaign whose delivery is uncertain or failed (GET /api/v1/campaigns/{id}/recipients?status=uncertain,failed).",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Recipientid",
                "type": "string"
              },
              "decision": {
                "description": "confirm_accepted / confirm_delivered: an administrator checked the result; retry: queue it again.",
                "enum": [
                  "confirm_accepted",
                  "confirm_delivered",
                  "retry"
                ],
                "title": "Decision",
                "type": "string"
              },
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) for retry: the recipient may get the message twice.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "required": [
              "recipientId",
              "decision"
            ],
            "title": "ReviewRecipientInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "marketing.experiment_decision",
      "area": "campaigns",
      "entity": "campaign_experiment",
      "name": {
        "es": "Decisión de prueba A/B o multivariante",
        "en": "A/B or multivariate test decision"
      },
      "features": [
        "marketing.experiments"
      ],
      "statuses": [
        "open",
        "done"
      ],
      "sourceStatuses": [
        "sampling",
        "selected",
        "fallback",
        "cancelled"
      ],
      "signals": [
        "decision_due",
        "inconclusive"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "decide",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "experiment:decided",
            "recipients:released_or_cancelled"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Decidir la prueba A/B",
            "en": "Decide the A/B test"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "decision": {
                "description": "release: send variantId to the rest of the audience; cancel_pending: cancel the rest.",
                "enum": [
                  "release",
                  "cancel_pending"
                ],
                "title": "Decision",
                "type": "string"
              },
              "variantId": {
                "anyOf": [
                  {
                    "enum": [
                      "a",
                      "b",
                      "c",
                      "d",
                      "e",
                      "f",
                      "g",
                      "h"
                    ],
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Required to release; a frozen combination of the test.",
                "title": "Variantid"
              },
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "minLength": 3,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Why (kept with the decision).",
                "title": "Reason"
              }
            },
            "required": [
              "decision"
            ],
            "title": "DecideInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "marketing.form_publication",
      "area": "forms",
      "entity": "signup_form",
      "name": {
        "es": "Publicación de formulario",
        "en": "Form publication"
      },
      "features": [
        "marketing.pages"
      ],
      "statuses": [
        "open",
        "needs_review",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "draft",
        "published",
        "paused",
        "archived"
      ],
      "signals": [],
      "etag": "revision",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "publish",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "form:published",
            "version:frozen"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Publicar",
            "en": "Publish"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "expectedRevision": {
                "anyOf": [
                  {
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The revision you read (the number of the ETag W/\"<revision>\"); another one answers 412 REVISION_CONFLICT.",
                "title": "Expectedrevision"
              }
            },
            "title": "FormStateInput",
            "type": "object"
          }
        },
        {
          "name": "pause",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "form:paused"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Pausar",
            "en": "Pause"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "expectedRevision": {
                "anyOf": [
                  {
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The revision you read (the number of the ETag W/\"<revision>\"); another one answers 412 REVISION_CONFLICT.",
                "title": "Expectedrevision"
              }
            },
            "title": "FormStateInput",
            "type": "object"
          }
        },
        {
          "name": "resume",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "form:published"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Reanudar",
            "en": "Resume"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "expectedRevision": {
                "anyOf": [
                  {
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The revision you read (the number of the ETag W/\"<revision>\"); another one answers 412 REVISION_CONFLICT.",
                "title": "Expectedrevision"
              }
            },
            "title": "FormStateInput",
            "type": "object"
          }
        },
        {
          "name": "archive",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "form:archived"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Archivar",
            "en": "Archive"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "expectedRevision": {
                "anyOf": [
                  {
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The revision you read (the number of the ETag W/\"<revision>\"); another one answers 412 REVISION_CONFLICT.",
                "title": "Expectedrevision"
              }
            },
            "title": "FormStateInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "marketing.journey_attention",
      "area": "journeys",
      "entity": "journey_attention",
      "name": {
        "es": "Recorrido que requiere atención",
        "en": "Journey needing attention"
      },
      "features": [],
      "statuses": [
        "needs_review",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "draft",
        "active",
        "paused",
        "cancelled"
      ],
      "signals": [
        "failed",
        "error"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "retry_sends",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "sends:retried"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Reintentar envíos en pausa",
            "en": "Retry paused sends"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "resume_enrollment",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "enrollment:active",
            "sends:retried"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Reanudar una inscripción",
            "en": "Resume an enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "enrollmentId": {
                "description": "An enrollment of this journey (GET /api/v1/automations/{id}/enrollments?status=failed,paused).",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Enrollmentid",
                "type": "string"
              }
            },
            "required": [
              "enrollmentId"
            ],
            "title": "EnrollmentInput",
            "type": "object"
          }
        },
        {
          "name": "cancel_enrollment",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "enrollment:cancelled",
            "sends:cancelled"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Cancelar una inscripción",
            "en": "Cancel an enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "enrollmentId": {
                "description": "An enrollment of this journey (GET /api/v1/automations/{id}/enrollments?status=failed,paused).",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Enrollmentid",
                "type": "string"
              }
            },
            "required": [
              "enrollmentId"
            ],
            "title": "EnrollmentInput",
            "type": "object"
          }
        },
        {
          "name": "resume_automation",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "journey:active",
            "sends:retried"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Reanudar el recorrido",
            "en": "Resume the journey"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "marketing.journey_version",
      "area": "journeys",
      "entity": "journey_version",
      "name": {
        "es": "Versión de recorrido por publicar",
        "en": "Journey version to publish"
      },
      "features": [],
      "statuses": [
        "open",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "draft",
        "active",
        "paused",
        "cancelled"
      ],
      "signals": [],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "publish_version",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": true,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [
            "draftRevision"
          ],
          "effects": [
            "version:published",
            "content:frozen",
            "enrollments:pinned_to_new_version"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Publicar versión",
            "en": "Publish version"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "draftRevision": {
                "anyOf": [
                  {
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The revision of the draft you reviewed (dryRun answers it in confirm.draftRevision); another one answers 409 REVISION_CONFLICT. Required to publish.",
                "title": "Draftrevision"
              }
            },
            "title": "PublishVersionInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "marketing.page_domain",
      "area": "sites",
      "entity": "page_domain",
      "name": {
        "es": "Dominio propio de páginas",
        "en": "Custom page domain"
      },
      "features": [
        "marketing.pages",
        "marketing.custom_domains"
      ],
      "statuses": [
        "open",
        "waiting",
        "needs_review",
        "done"
      ],
      "sourceStatuses": [
        "pending",
        "verified",
        "active",
        "lost",
        "suspended"
      ],
      "signals": [
        "verification_lost"
      ],
      "etag": "revision",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "verify",
          "scope": "sites:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "dns:txt_checked",
            "dns:routing_checked",
            "domain:verified"
          ],
          "leadsTo": [
            "waiting",
            "done"
          ],
          "title": {
            "es": "Verificar",
            "en": "Verify"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "marketing.placement",
      "area": "forms",
      "entity": "form_placement",
      "name": {
        "es": "Colocación de formulario",
        "en": "Form placement"
      },
      "features": [
        "marketing.pages"
      ],
      "statuses": [
        "open",
        "waiting",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "draft",
        "active",
        "paused",
        "archived"
      ],
      "signals": [],
      "etag": "revision",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "activate",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "placement:active",
            "public_config:served"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Activar",
            "en": "Activate"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "pause",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "placement:paused",
            "public_config:removed"
          ],
          "leadsTo": [
            "waiting"
          ],
          "title": {
            "es": "Pausar",
            "en": "Pause"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "marketing.site_verification",
      "area": "sites",
      "entity": "marketing_site",
      "name": {
        "es": "Verificación de sitio web",
        "en": "Website verification"
      },
      "features": [],
      "statuses": [
        "open",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "draft",
        "active",
        "paused",
        "archived"
      ],
      "signals": [
        "verification_lost"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "verify",
          "scope": "sites:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "dns:txt_checked",
            "site:verified"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Verificar",
            "en": "Verify"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "sales.conversation",
      "area": "sequences",
      "entity": "sales_conversation",
      "name": {
        "es": "Respuesta comercial sin atender",
        "en": "Unattended sales reply"
      },
      "features": [
        "crm.sequences"
      ],
      "statuses": [
        "open",
        "done"
      ],
      "sourceStatuses": [
        "open",
        "pending",
        "resolved"
      ],
      "signals": [
        "unread"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": {
        "readScope": "support:content",
        "writeScope": "sequences:execute",
        "actor": "delegated"
      },
      "history": false,
      "completion": "mark_read",
      "deprecated": false,
      "actions": [
        {
          "name": "reply",
          "scope": "sequences:execute",
          "actor": "owner",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [
            "salesSequencesSend"
          ],
          "confirmFields": [],
          "effects": [
            "message:sent_from_owner_mailbox",
            "reply_lease:claimed",
            "unread:cleared"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Responder desde el buzón",
            "en": "Reply from the mailbox"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "text": {
                "description": "The reply, sent from the owner's own mailbox.",
                "maxLength": 10000,
                "minLength": 1,
                "title": "Text",
                "type": "string"
              },
              "expectedLastMessageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Required: the ID of the last message you read (GET /api/v1/conversations/{id}/messages); another value is 409 CONVERSATION_CHANGED.",
                "title": "Expectedlastmessageid"
              }
            },
            "required": [
              "text",
              "expectedLastMessageId"
            ],
            "title": "SalesReplyInput",
            "type": "object"
          }
        },
        {
          "name": "mark_read",
          "scope": "sequences:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "unread:cleared"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Marcar como leída",
            "en": "Mark as read"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "sales.enrollment",
      "area": "sequences",
      "entity": "sales_enrollment",
      "name": {
        "es": "Inscripción en secuencia comercial",
        "en": "Sales sequence enrollment"
      },
      "features": [
        "crm.sequences"
      ],
      "statuses": [
        "waiting",
        "needs_review",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "active",
        "waiting_time",
        "waiting_task",
        "paused",
        "delivery_uncertain",
        "stopped_reply",
        "stopped_meeting",
        "stopped_optout",
        "stopped_bounce",
        "stopped_goal",
        "cancelled",
        "completed"
      ],
      "signals": [
        "uncertain",
        "failed",
        "reconnect_required"
      ],
      "etag": "revision",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": true,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "pause",
          "scope": "sequences:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:paused",
            "ledger:pause"
          ],
          "leadsTo": [
            "waiting"
          ],
          "title": {
            "es": "Pausar la inscripción",
            "en": "Pause the enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Optional reason kept in the ledger of the enrollment (plain text).",
                "title": "Reason"
              }
            },
            "title": "ReasonInput",
            "type": "object"
          }
        },
        {
          "name": "resume",
          "scope": "sequences:execute",
          "actor": "owner",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:resumed",
            "next_step:replanned",
            "ledger:resume"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Reanudar la inscripción",
            "en": "Resume the enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Optional reason kept in the ledger of the enrollment (plain text).",
                "title": "Reason"
              },
              "continueWithoutOpportunity": {
                "default": false,
                "description": "The deal was won, lost or archived: continue without it (only when the texts do not use its title).",
                "title": "Continuewithoutopportunity",
                "type": "boolean"
              }
            },
            "title": "ResumeInput",
            "type": "object"
          }
        },
        {
          "name": "cancel",
          "scope": "sequences:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:cancelled",
            "pending_steps:cancelled",
            "tasks:closed",
            "recipient:released",
            "ledger:cancel"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Cancelar la inscripción",
            "en": "Cancel the enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Optional reason kept in the ledger of the enrollment (plain text).",
                "title": "Reason"
              }
            },
            "title": "ReasonInput",
            "type": "object"
          }
        },
        {
          "name": "skip_step",
          "scope": "sequences:execute",
          "actor": "owner",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "step:skipped",
            "next_step:planned",
            "ledger:skip_step"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Saltar el paso",
            "en": "Skip the step"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "description": "Required: why the current step is skipped.",
                "maxLength": 500,
                "minLength": 1,
                "title": "Reason",
                "type": "string"
              }
            },
            "required": [
              "reason"
            ],
            "title": "SkipInput",
            "type": "object"
          }
        },
        {
          "name": "reconcile_execution",
          "scope": "sequences:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "mailbox:read",
            "execution:accepted|not_sent|inconclusive",
            "ledger:reconcile"
          ],
          "leadsTo": [
            "done",
            "needs_review"
          ],
          "title": {
            "es": "Conciliar con el buzón",
            "en": "Reconcile with the mailbox"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "executionId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The unconfirmed send (default: the current one).",
                "title": "Executionid"
              }
            },
            "title": "ReconcileInput",
            "type": "object"
          }
        },
        {
          "name": "review_execution",
          "scope": "sequences:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "execution:accepted|retry_scheduled",
            "ledger:review"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Revisar el envío",
            "en": "Review the send"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "executionId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The send to review (default: the current one).",
                "title": "Executionid"
              },
              "decision": {
                "description": "confirm_accepted (owner or administrator, with evidence) or retry (only the mailbox owner).",
                "enum": [
                  "confirm_accepted",
                  "retry"
                ],
                "title": "Decision",
                "type": "string"
              },
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "retry of an unconfirmed send: the first one may have reached the contact; acknowledge the possible duplicate.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              },
              "evidence": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm_accepted: what proves it was sent.",
                "title": "Evidence"
              },
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "retry: optional reason.",
                "title": "Reason"
              }
            },
            "required": [
              "decision"
            ],
            "title": "ReviewInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "sales.mailbox",
      "area": "sequences",
      "entity": "sales_mailbox",
      "name": {
        "es": "Buzón comercial",
        "en": "Sales mailbox"
      },
      "features": [
        "crm.sequences"
      ],
      "statuses": [
        "needs_review",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "pending",
        "ready",
        "paused",
        "revoked"
      ],
      "signals": [
        "reconnect_required"
      ],
      "etag": "revision",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": []
    },
    {
      "kind": "support.csat_delivery",
      "area": "csat",
      "entity": "csat_delivery",
      "name": {
        "es": "Encuesta de satisfacción",
        "en": "Satisfaction survey"
      },
      "features": [
        "support.csat_auto"
      ],
      "statuses": [
        "open",
        "in_progress",
        "needs_review",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "scheduled",
        "manual_prepared",
        "suppressed",
        "paused_identity",
        "queued",
        "sending",
        "accepted",
        "retry_wait",
        "failed",
        "uncertain",
        "cancelled",
        "expired"
      ],
      "signals": [
        "uncertain",
        "failed"
      ],
      "etag": "revision",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "send_now",
          "scope": "csat:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [
            "supportCsatSend"
          ],
          "confirmFields": [],
          "effects": [
            "csat:invitation_sent",
            "csat:audit_send_now",
            "ticket_event:csat_invitation"
          ],
          "leadsTo": [
            "in_progress",
            "done"
          ],
          "title": {
            "es": "Enviar ahora",
            "en": "Send now"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "cancel",
          "scope": "csat:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "csat:cancelled",
            "survey_link:revoked",
            "csat:audit_cancel"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Cancelar el envío",
            "en": "Cancel the invitation"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "default": "",
                "description": "Why the team cancels it (kept in the audit of the invitation).",
                "maxLength": 500,
                "title": "Reason",
                "type": "string"
              }
            },
            "title": "CancelInput",
            "type": "object"
          }
        },
        {
          "name": "retry",
          "scope": "csat:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [
            "supportCsatSend"
          ],
          "confirmFields": [],
          "effects": [
            "csat:new_attempt",
            "survey_token:rotated",
            "csat:audit_retry"
          ],
          "leadsTo": [
            "in_progress",
            "done"
          ],
          "title": {
            "es": "Reintentar el envío",
            "en": "Retry the invitation"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) when an administrator confirmed that the invitation was not accepted: the customer may receive it twice.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "title": "RetryInput",
            "type": "object"
          }
        },
        {
          "name": "review",
          "scope": "csat:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "csat:reviewed",
            "csat:audit_review"
          ],
          "leadsTo": [
            "done",
            "open",
            "in_progress",
            "cancelled"
          ],
          "title": {
            "es": "Revisar el envío",
            "en": "Review the invitation"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "decision": {
                "description": "uncertain: confirm_accepted, confirm_not_accepted, abandon or retry; paused_identity: resume or cancel.",
                "enum": [
                  "confirm_accepted",
                  "confirm_not_accepted",
                  "abandon",
                  "retry",
                  "resume",
                  "cancel"
                ],
                "title": "Decision",
                "type": "string"
              },
              "reason": {
                "description": "Why (kept in the audit of the invitation).",
                "maxLength": 500,
                "minLength": 5,
                "title": "Reason",
                "type": "string"
              },
              "evidence": {
                "default": "",
                "description": "Required (5+ characters) to confirm_accepted or confirm_not_accepted.",
                "maxLength": 1000,
                "title": "Evidence",
                "type": "string"
              },
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) for retry: the customer may receive the invitation twice.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "required": [
              "decision",
              "reason"
            ],
            "title": "ReviewInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "support.customer_message",
      "area": "support",
      "entity": "customer_message",
      "name": {
        "es": "Recado de cliente",
        "en": "Customer message"
      },
      "features": [],
      "statuses": [
        "open",
        "needs_review",
        "done"
      ],
      "sourceStatuses": [
        "pending",
        "done"
      ],
      "signals": [
        "uncertain",
        "failed"
      ],
      "etag": "hash",
      "patch": {
        "fields": [
          "status"
        ],
        "statuses": [
          "open",
          "done"
        ],
        "scope": "support:execute",
        "statusActions": {
          "open": "reopen",
          "done": "mark_done"
        },
        "groups": [
          [
            "status"
          ]
        ]
      },
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": "mark_done",
      "deprecated": false,
      "actions": [
        {
          "name": "mark_done",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "customer_message:done"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Marcar como resuelto",
            "en": "Mark as done"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "reopen",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "customer_message:pending"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Reabrir",
            "en": "Reopen"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "retry_notifications",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "alerts:failed_requeued"
          ],
          "leadsTo": [],
          "title": {
            "es": "Reintentar los avisos fallidos",
            "en": "Retry the failed alerts"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "review_notification",
          "scope": "support:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "alert:confirmed_delivered_or_requeued"
          ],
          "leadsTo": [
            "open",
            "done"
          ],
          "title": {
            "es": "Revisar un aviso sin confirmar",
            "en": "Review an unconfirmed alert"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "jobId": {
                "description": "The alert to review (deliveries[].id of the customer message): only an unconfirmed one.",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Jobid",
                "type": "string"
              },
              "action": {
                "description": "confirm_delivered: an administrator checked that the person got it; retry: queue it again.",
                "enum": [
                  "confirm_delivered",
                  "retry"
                ],
                "title": "Action",
                "type": "string"
              },
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) for retry: the person may receive the alert twice.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "required": [
              "jobId",
              "action"
            ],
            "title": "ReviewNotificationInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "support.mention",
      "area": "support",
      "entity": "support_mention",
      "name": {
        "es": "Mención",
        "en": "Mention"
      },
      "features": [],
      "statuses": [
        "open",
        "done"
      ],
      "sourceStatuses": [
        "unread",
        "read"
      ],
      "signals": [
        "unread"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": "mark_read",
      "deprecated": false,
      "actions": [
        {
          "name": "mark_read",
          "scope": "support:execute",
          "actor": "recipient",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "mention:read"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Marcar como leída",
            "en": "Mark as read"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "support.ticket",
      "area": "support",
      "entity": "support_case",
      "name": {
        "es": "Ticket de soporte",
        "en": "Support ticket"
      },
      "features": [],
      "statuses": [
        "open",
        "in_progress",
        "waiting",
        "needs_review",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "open",
        "pending",
        "waiting_customer",
        "waiting_internal",
        "paused",
        "resolved"
      ],
      "signals": [
        "unassigned",
        "unread",
        "handoff",
        "ai_handling",
        "ai_review",
        "snoozed",
        "sla_response_at_risk",
        "sla_response_breached",
        "sla_resolution_at_risk",
        "sla_resolution_breached",
        "sla_escalated"
      ],
      "etag": "hash",
      "patch": {
        "fields": [
          "title",
          "category",
          "priority",
          "assigneeId",
          "teamId",
          "status",
          "sourceStatus"
        ],
        "statuses": [
          "open",
          "waiting",
          "done"
        ],
        "scope": "support:write",
        "statusActions": {
          "open": "set_status",
          "waiting": "set_status",
          "done": "resolve"
        },
        "groups": [
          [
            "title",
            "category",
            "priority",
            "assigneeId",
            "teamId",
            "status",
            "sourceStatus"
          ]
        ]
      },
      "creatable": false,
      "create": null,
      "notes": {
        "readScope": "support:content",
        "writeScope": "support:write",
        "actor": "delegated"
      },
      "history": true,
      "completion": "resolve",
      "deprecated": false,
      "actions": [
        {
          "name": "add_note",
          "scope": "support:write",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "note:internal",
            "mention:notified",
            "task:support.mention"
          ],
          "leadsTo": [],
          "title": {
            "es": "Añadir nota interna",
            "en": "Add an internal note"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "text": {
                "description": "Internal note: never sent to the customer.",
                "maxLength": 5000,
                "minLength": 1,
                "title": "Text",
                "type": "string"
              },
              "mentionUserIds": {
                "description": "Active users of the company to notify (GET /api/v1/members).",
                "items": {
                  "maxLength": 64,
                  "minLength": 1,
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                  "type": "string"
                },
                "maxItems": 20,
                "title": "Mentionuserids",
                "type": "array"
              }
            },
            "required": [
              "text"
            ],
            "title": "NoteActionInput",
            "type": "object"
          }
        },
        {
          "name": "apply_macro",
          "scope": "support:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": true,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [
            "previewToken"
          ],
          "effects": [
            "macro:status",
            "macro:priority",
            "macro:assignee",
            "macro:labels"
          ],
          "leadsTo": [],
          "title": {
            "es": "Aplicar macro",
            "en": "Apply a macro"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "macroId": {
                "description": "A macro of the company (GET /api/v1/macros).",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Macroid",
                "type": "string"
              },
              "previewToken": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Required to execute: the previewToken of the dryRun (409 PREVIEW_STALE when the conversation changed).",
                "title": "Previewtoken"
              }
            },
            "required": [
              "macroId"
            ],
            "title": "MacroInput",
            "type": "object"
          }
        },
        {
          "name": "assign",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "assignee",
            "snooze:cleared"
          ],
          "leadsTo": [],
          "title": {
            "es": "Asignar",
            "en": "Assign"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "assigneeId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "An active administrator or agent of the company (GET /api/v1/members); null leaves the ticket unassigned.",
                "title": "Assigneeid"
              }
            },
            "required": [
              "assigneeId"
            ],
            "title": "AssignInput",
            "type": "object"
          }
        },
        {
          "name": "hand_off",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:pending",
            "assistant:paused",
            "alert:handoff",
            "queue:assign"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Derivar a una persona",
            "en": "Hand off to a person"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "mark_read",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "unread:cleared"
          ],
          "leadsTo": [],
          "title": {
            "es": "Marcar como leída",
            "en": "Mark as read"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "merge_into",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:resolved",
            "csat:close_cycle:ticket_merged",
            "history:merged_into"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Fusionar en otro ticket",
            "en": "Merge into another ticket"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "targetTicketId": {
                "description": "The ticket that remains: same contact, not merged.",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Targetticketid",
                "type": "string"
              }
            },
            "required": [
              "targetTicketId"
            ],
            "title": "MergeIntoInput",
            "type": "object"
          }
        },
        {
          "name": "public_reply",
          "scope": "support:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "ticket_event:public_reply",
            "portal:visible",
            "sla:first_response"
          ],
          "leadsTo": [],
          "title": {
            "es": "Respuesta pública en el portal",
            "en": "Public reply on the portal"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "text": {
                "description": "The public reply shown on the customer portal.",
                "maxLength": 10000,
                "minLength": 1,
                "title": "Text",
                "type": "string"
              }
            },
            "required": [
              "text"
            ],
            "title": "PublicReplyInput",
            "type": "object"
          }
        },
        {
          "name": "reopen",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:open",
            "sla:resumed",
            "csat:reopen_cycle",
            "history:status_changed"
          ],
          "leadsTo": [
            "open",
            "in_progress"
          ],
          "title": {
            "es": "Reabrir",
            "en": "Reopen"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "reply",
          "scope": "support:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "message:sent",
            "reply_lease:claimed",
            "sla:first_response",
            "status:pending_to_open"
          ],
          "leadsTo": [],
          "title": {
            "es": "Responder al cliente",
            "en": "Reply to the customer"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "text": {
                "description": "The reply to the customer (WhatsApp: at most 4096 characters; social networks: 1000).",
                "maxLength": 10000,
                "minLength": 1,
                "title": "Text",
                "type": "string"
              },
              "expectedLastMessageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Required: the ID of the last message you read (GET /api/v1/conversations/{id}/messages); null when the conversation has no message yet. Another value is 409 CONVERSATION_CHANGED.",
                "title": "Expectedlastmessageid"
              }
            },
            "required": [
              "text",
              "expectedLastMessageId"
            ],
            "title": "ReplyInput",
            "type": "object"
          }
        },
        {
          "name": "resolve",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:done",
            "sla:resolution_stopped",
            "csat:close_cycle",
            "history:status_changed"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Resolver",
            "en": "Resolve"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "return_to_ai",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "assistant:resumed",
            "status:open"
          ],
          "leadsTo": [
            "in_progress"
          ],
          "title": {
            "es": "Devolver a la IA",
            "en": "Return to the AI"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        },
        {
          "name": "set_labels",
          "scope": "support:write",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "labels"
          ],
          "leadsTo": [],
          "title": {
            "es": "Etiquetar",
            "en": "Set labels"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "labelIds": {
                "description": "Every label of the conversation (GET /api/v1/labels); [] removes them all.",
                "items": {
                  "maxLength": 64,
                  "minLength": 1,
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                  "type": "string"
                },
                "maxItems": 30,
                "title": "Labelids",
                "type": "array"
              }
            },
            "required": [
              "labelIds"
            ],
            "title": "SetLabelsInput",
            "type": "object"
          }
        },
        {
          "name": "set_stage",
          "scope": "support:write",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "stage",
            "history:updated"
          ],
          "leadsTo": [],
          "title": {
            "es": "Cambiar etapa",
            "en": "Change stage"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "pipelineId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "A ticket pipeline; by default the ticket's own.",
                "title": "Pipelineid"
              },
              "stageId": {
                "description": "A stage of that pipeline.",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Stageid",
                "type": "string"
              }
            },
            "required": [
              "stageId"
            ],
            "title": "SetStageInput",
            "type": "object"
          }
        },
        {
          "name": "set_status",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status",
            "sla:pause_or_resume",
            "history:status_changed"
          ],
          "leadsTo": [
            "open",
            "waiting",
            "done"
          ],
          "title": {
            "es": "Cambiar estado",
            "en": "Change status"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "sourceStatus": {
                "description": "The native status of the ticket.",
                "enum": [
                  "open",
                  "pending",
                  "waiting_customer",
                  "waiting_internal",
                  "paused",
                  "resolved"
                ],
                "title": "Sourcestatus",
                "type": "string"
              }
            },
            "required": [
              "sourceStatus"
            ],
            "title": "SetStatusInput",
            "type": "object"
          }
        },
        {
          "name": "set_team",
          "scope": "support:write",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "team",
            "history:updated"
          ],
          "leadsTo": [],
          "title": {
            "es": "Cambiar equipo",
            "en": "Change team"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "teamId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "An enabled support team (GET /api/v1/support-teams); null removes the team.",
                "title": "Teamid"
              }
            },
            "required": [
              "teamId"
            ],
            "title": "SetTeamInput",
            "type": "object"
          }
        },
        {
          "name": "snooze",
          "scope": "support:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "snooze:until",
            "status:pending",
            "assignee:parked",
            "assistant:paused"
          ],
          "leadsTo": [
            "waiting"
          ],
          "title": {
            "es": "Posponer",
            "en": "Snooze"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "until": {
                "description": "RFC 3339 with its offset: a future moment within 90 days.",
                "format": "date-time",
                "title": "Until",
                "type": "string"
              }
            },
            "required": [
              "until"
            ],
            "title": "SnoozeActionInput",
            "type": "object"
          }
        },
        {
          "name": "split",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "ticket:created",
            "history:split"
          ],
          "leadsTo": [],
          "title": {
            "es": "Dividir",
            "en": "Split"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "title": {
                "description": "Title of the new child ticket.",
                "maxLength": 255,
                "minLength": 1,
                "title": "Title",
                "type": "string"
              },
              "description": {
                "default": "",
                "description": "Internal description of the child ticket.",
                "maxLength": 20000,
                "title": "Description",
                "type": "string"
              }
            },
            "required": [
              "title"
            ],
            "title": "SplitInput",
            "type": "object"
          }
        },
        {
          "name": "unsnooze",
          "scope": "support:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "snooze:cancelled",
            "status:pending",
            "assignee:restored"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Reactivar ahora",
            "en": "Wake up now"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "voice.capacity_review",
      "area": "voice",
      "entity": "voice_capacity_reservation",
      "name": {
        "es": "Revisión de capacidad de llamadas",
        "en": "Call capacity review"
      },
      "features": [],
      "statuses": [
        "needs_review",
        "done"
      ],
      "sourceStatuses": [
        "reserved",
        "active",
        "uncertain",
        "released",
        "rejected"
      ],
      "signals": [
        "uncertain"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "review",
          "scope": "voice:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "voice_capacity:checked_with_provider"
          ],
          "leadsTo": [
            "done",
            "needs_review"
          ],
          "title": {
            "es": "Revisar con el proveedor",
            "en": "Review with the provider"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "providerCallSid": {
                "anyOf": [
                  {
                    "pattern": "^CA[a-fA-F0-9]{32}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Optional: the provider's call (CA + 32 hex) an administrator found for this reservation; it is checked against the provider before the slot changes.",
                "title": "Providercallsid"
              }
            },
            "title": "CapacityReviewInput",
            "type": "object"
          }
        }
      ]
    },
    {
      "kind": "voice.job",
      "area": "voice",
      "entity": "voice_job",
      "name": {
        "es": "Trabajo de voz",
        "en": "Voice job"
      },
      "features": [],
      "statuses": [
        "in_progress",
        "needs_review",
        "done",
        "cancelled"
      ],
      "sourceStatuses": [
        "pending",
        "running",
        "done",
        "failed",
        "uncertain",
        "cancelled"
      ],
      "signals": [
        "uncertain",
        "failed"
      ],
      "etag": "hash",
      "patch": null,
      "creatable": false,
      "create": null,
      "notes": null,
      "history": false,
      "completion": null,
      "deprecated": false,
      "actions": [
        {
          "name": "retry",
          "scope": "voice:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "voice_job:requeued"
          ],
          "leadsTo": [
            "in_progress"
          ],
          "title": {
            "es": "Reintentar",
            "en": "Retry"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) when the job is uncertain: the previous email may have been delivered and the recipient may receive it twice. Not needed for a proven failure.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "title": "RetryInput",
            "type": "object"
          }
        }
      ]
    }
  ],
  "entities": [
    {
      "entity": "calendar_booking",
      "area": "calendar",
      "resource": "bookings",
      "features": [],
      "kinds": [
        "calendar.booking"
      ],
      "actions": [
        {
          "name": "reconcile",
          "scope": "calendar:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "calendar_booking:checked_with_provider"
          ],
          "leadsTo": [
            "done",
            "cancelled",
            "needs_review"
          ],
          "title": {
            "es": "Comprobar con el calendario",
            "en": "Check with the calendar"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "calendar.booking"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/bookings/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "campaign_delivery",
      "area": "campaigns",
      "resource": null,
      "features": [],
      "kinds": [
        "marketing.delivery_review"
      ],
      "actions": [
        {
          "name": "review_recipient",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "recipient:confirmed_or_requeued"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Revisar un envío",
            "en": "Review a send"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "recipientId": {
                "description": "A recipient of this campaign whose delivery is uncertain or failed (GET /api/v1/campaigns/{id}/recipients?status=uncertain,failed).",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Recipientid",
                "type": "string"
              },
              "decision": {
                "description": "confirm_accepted / confirm_delivered: an administrator checked the result; retry: queue it again.",
                "enum": [
                  "confirm_accepted",
                  "confirm_delivered",
                  "retry"
                ],
                "title": "Decision",
                "type": "string"
              },
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) for retry: the recipient may get the message twice.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "required": [
              "recipientId",
              "decision"
            ],
            "title": "ReviewRecipientInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.delivery_review"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/campaigns/{campaign_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "campaign_experiment",
      "area": "campaigns",
      "resource": null,
      "features": [
        "marketing.experiments"
      ],
      "kinds": [
        "marketing.experiment_decision"
      ],
      "actions": [
        {
          "name": "decide",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "experiment:decided",
            "recipients:released_or_cancelled"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Decidir la prueba A/B",
            "en": "Decide the A/B test"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "decision": {
                "description": "release: send variantId to the rest of the audience; cancel_pending: cancel the rest.",
                "enum": [
                  "release",
                  "cancel_pending"
                ],
                "title": "Decision",
                "type": "string"
              },
              "variantId": {
                "anyOf": [
                  {
                    "enum": [
                      "a",
                      "b",
                      "c",
                      "d",
                      "e",
                      "f",
                      "g",
                      "h"
                    ],
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Required to release; a frozen combination of the test.",
                "title": "Variantid"
              },
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "minLength": 3,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Why (kept with the decision).",
                "title": "Reason"
              }
            },
            "required": [
              "decision"
            ],
            "title": "DecideInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.experiment_decision"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/campaigns/{campaign_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "campaign_recipient",
      "area": "campaigns",
      "resource": "campaign-recipients",
      "features": [],
      "kinds": [],
      "actions": [
        {
          "name": "review",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "recipient:confirmed_or_requeued"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Revisar el envío",
            "en": "Review the send"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "decision": {
                "description": "confirm_accepted / confirm_delivered: an administrator checked the result; retry: queue it again.",
                "enum": [
                  "confirm_accepted",
                  "confirm_delivered",
                  "retry"
                ],
                "title": "Decision",
                "type": "string"
              },
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) for retry: the recipient may get the message twice.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "required": [
              "decision"
            ],
            "title": "RecipientReviewInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/campaign-recipients/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "channel_account",
      "area": "channels",
      "resource": "channels",
      "features": [],
      "kinds": [],
      "actions": [
        {
          "name": "verify",
          "scope": "channels:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "channel_account:verified_with_provider"
          ],
          "leadsTo": [
            "done",
            "needs_review"
          ],
          "title": {
            "es": "Verificar con el proveedor",
            "en": "Verify with the provider"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/channels/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "channel_health",
      "area": "channels",
      "resource": null,
      "features": [],
      "kinds": [
        "channel.health"
      ],
      "actions": [
        {
          "name": "verify",
          "scope": "channels:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "channel:verified"
          ],
          "leadsTo": [
            "done",
            "needs_review"
          ],
          "title": {
            "es": "Verificar con el proveedor",
            "en": "Verify with the provider"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "channel.health"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "crm_activity",
      "area": "activities",
      "resource": "activities",
      "features": [],
      "kinds": [
        "crm.activity"
      ],
      "actions": [
        {
          "name": "cancel",
          "scope": "activities:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:cancelled",
            "history:status_changed"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Cancelar",
            "en": "Cancel"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.activity"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/activities/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "complete",
          "scope": "activities:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:done",
            "history:status_changed"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Completar",
            "en": "Complete"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.activity"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/activities/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "reassign",
          "scope": "activities:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "assignee",
            "history:reassigned"
          ],
          "leadsTo": [],
          "title": {
            "es": "Reasignar",
            "en": "Reassign"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "assigneeId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "An active administrator or agent of the company (GET /api/v1/members); null leaves it unassigned.",
                "title": "Assigneeid"
              }
            },
            "required": [
              "assigneeId"
            ],
            "title": "ReassignInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.activity"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/activities/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "reopen",
          "scope": "activities:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:open",
            "history:status_changed"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Reabrir",
            "en": "Reopen"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.activity"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/activities/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "reschedule",
          "scope": "activities:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "dueAt",
            "history:rescheduled"
          ],
          "leadsTo": [],
          "title": {
            "es": "Aplazar",
            "en": "Reschedule"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "dueAt": {
                "description": "The new due date (RFC 3339 with its zone).",
                "format": "date-time",
                "title": "Dueat",
                "type": "string"
              }
            },
            "required": [
              "dueAt"
            ],
            "title": "RescheduleInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.activity"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/activities/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "start_playbook",
          "scope": "activities:read",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.playbooks",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "playbook_session:created"
          ],
          "leadsTo": [],
          "title": {
            "es": "Abrir un guion",
            "en": "Start a playbook"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``start_playbook`` of a follow-up: a published playbook; the follow-up gives the contact and the deal.",
            "properties": {
              "playbookId": {
                "description": "A published playbook (GET /api/v1/playbooks).",
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Playbookid",
                "type": "string"
              },
              "contactId": {
                "anyOf": [
                  {
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Only when the follow-up has no contact.",
                "title": "Contactid"
              },
              "companyId": {
                "anyOf": [
                  {
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "A customer company the contact is associated with.",
                "title": "Companyid"
              }
            },
            "required": [
              "playbookId"
            ],
            "title": "StartPlaybookInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/activities/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "csat_delivery",
      "area": "csat",
      "resource": null,
      "features": [
        "support.csat_auto"
      ],
      "kinds": [
        "support.csat_delivery"
      ],
      "actions": [
        {
          "name": "cancel",
          "scope": "csat:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "csat:cancelled",
            "survey_link:revoked",
            "csat:audit_cancel"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Cancelar el envío",
            "en": "Cancel the invitation"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "default": "",
                "description": "Why the team cancels it (kept in the audit of the invitation).",
                "maxLength": 500,
                "title": "Reason",
                "type": "string"
              }
            },
            "title": "CancelInput",
            "type": "object"
          },
          "taskKinds": [
            "support.csat_delivery"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/csat/deliveries/{delivery_id}/actions/{action}"
          ]
        },
        {
          "name": "retry",
          "scope": "csat:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [
            "supportCsatSend"
          ],
          "confirmFields": [],
          "effects": [
            "csat:new_attempt",
            "survey_token:rotated",
            "csat:audit_retry"
          ],
          "leadsTo": [
            "in_progress",
            "done"
          ],
          "title": {
            "es": "Reintentar el envío",
            "en": "Retry the invitation"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) when an administrator confirmed that the invitation was not accepted: the customer may receive it twice.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "title": "RetryInput",
            "type": "object"
          },
          "taskKinds": [
            "support.csat_delivery"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/csat/deliveries/{delivery_id}/actions/{action}"
          ]
        },
        {
          "name": "review",
          "scope": "csat:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "csat:reviewed",
            "csat:audit_review"
          ],
          "leadsTo": [
            "done",
            "open",
            "in_progress",
            "cancelled"
          ],
          "title": {
            "es": "Revisar el envío",
            "en": "Review the invitation"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "decision": {
                "description": "uncertain: confirm_accepted, confirm_not_accepted, abandon or retry; paused_identity: resume or cancel.",
                "enum": [
                  "confirm_accepted",
                  "confirm_not_accepted",
                  "abandon",
                  "retry",
                  "resume",
                  "cancel"
                ],
                "title": "Decision",
                "type": "string"
              },
              "reason": {
                "description": "Why (kept in the audit of the invitation).",
                "maxLength": 500,
                "minLength": 5,
                "title": "Reason",
                "type": "string"
              },
              "evidence": {
                "default": "",
                "description": "Required (5+ characters) to confirm_accepted or confirm_not_accepted.",
                "maxLength": 1000,
                "title": "Evidence",
                "type": "string"
              },
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) for retry: the customer may receive the invitation twice.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "required": [
              "decision",
              "reason"
            ],
            "title": "ReviewInput",
            "type": "object"
          },
          "taskKinds": [
            "support.csat_delivery"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/csat/deliveries/{delivery_id}/actions/{action}"
          ]
        },
        {
          "name": "send_now",
          "scope": "csat:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [
            "supportCsatSend"
          ],
          "confirmFields": [],
          "effects": [
            "csat:invitation_sent",
            "csat:audit_send_now",
            "ticket_event:csat_invitation"
          ],
          "leadsTo": [
            "in_progress",
            "done"
          ],
          "title": {
            "es": "Enviar ahora",
            "en": "Send now"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.csat_delivery"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/csat/deliveries/{delivery_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "customer_message",
      "area": "support",
      "resource": "customer-notes",
      "features": [],
      "kinds": [
        "support.customer_message"
      ],
      "actions": [
        {
          "name": "mark_done",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "customer_message:done"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Marcar como resuelto",
            "en": "Mark as done"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.customer_message"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/customer-notes/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "reopen",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "customer_message:pending"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Reabrir",
            "en": "Reopen"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.customer_message"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/customer-notes/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "retry_notifications",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "alerts:failed_requeued"
          ],
          "leadsTo": [],
          "title": {
            "es": "Reintentar los avisos fallidos",
            "en": "Retry the failed alerts"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.customer_message"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/customer-notes/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "review_notification",
          "scope": "support:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "alert:confirmed_delivered_or_requeued"
          ],
          "leadsTo": [
            "open",
            "done"
          ],
          "title": {
            "es": "Revisar un aviso sin confirmar",
            "en": "Review an unconfirmed alert"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "jobId": {
                "description": "The alert to review (deliveries[].id of the customer message): only an unconfirmed one.",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Jobid",
                "type": "string"
              },
              "action": {
                "description": "confirm_delivered: an administrator checked that the person got it; retry: queue it again.",
                "enum": [
                  "confirm_delivered",
                  "retry"
                ],
                "title": "Action",
                "type": "string"
              },
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) for retry: the person may receive the alert twice.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "required": [
              "jobId",
              "action"
            ],
            "title": "ReviewNotificationInput",
            "type": "object"
          },
          "taskKinds": [
            "support.customer_message"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/customer-notes/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "duplicate_pair",
      "area": "duplicates",
      "resource": null,
      "features": [],
      "kinds": [
        "crm.duplicate_review"
      ],
      "actions": [
        {
          "name": "dismiss",
          "scope": "duplicates:write",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "decision:not_duplicate",
            "status:cancelled"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Descartar: no son duplicados",
            "en": "Dismiss: not duplicates"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``dismiss`` and ``restore``.",
            "properties": {
              "fingerprint": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The fingerprint you saw (GET /api/v1/duplicates); a different current one is 409 DUPLICATE_FINGERPRINT_STALE.",
                "title": "Fingerprint"
              }
            },
            "title": "DecisionInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.duplicate_review"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/duplicates/{entity}/{id_a}/{id_b}/actions/{action}"
          ]
        },
        {
          "name": "merge",
          "scope": "duplicates:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": true,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [
            "planHash",
            "expiresAt"
          ],
          "effects": [],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Fusionar",
            "en": "Merge"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``merge``: the previewed plan with its tokens.",
            "properties": {
              "survivorId": {
                "description": "The record you keep: one of the pair.",
                "maxLength": 64,
                "minLength": 1,
                "title": "Survivorid",
                "type": "string"
              },
              "choices": {
                "additionalProperties": true,
                "description": "Difference key → survivor, source or union (or a list for tags).",
                "maxProperties": 200,
                "title": "Choices",
                "type": "object"
              },
              "roleChoices": {
                "additionalProperties": true,
                "description": "Customer companies: contact ID → survivor, source or {value}.",
                "maxProperties": 500,
                "title": "Rolechoices",
                "type": "object"
              },
              "reason": {
                "default": "",
                "description": "Why: kept in the merge (required to merge).",
                "maxLength": 500,
                "title": "Reason",
                "type": "string"
              },
              "planHash": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.planHash of the dryRun (required to run).",
                "title": "Planhash"
              },
              "expiresAt": {
                "anyOf": [
                  {
                    "format": "date-time",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.expiresAt of the dryRun (required to run; 15 minutes).",
                "title": "Expiresat"
              }
            },
            "required": [
              "survivorId"
            ],
            "title": "MergeInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.duplicate_review"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/duplicates/{entity}/{id_a}/{id_b}/actions/{action}"
          ]
        },
        {
          "name": "preview_merge",
          "scope": "duplicates:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": true,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [],
          "leadsTo": [],
          "title": {
            "es": "Vista previa de la fusión",
            "en": "Merge preview"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``preview_merge`` (and the dryRun of ``merge``).",
            "properties": {
              "survivorId": {
                "description": "The record you keep: one of the pair.",
                "maxLength": 64,
                "minLength": 1,
                "title": "Survivorid",
                "type": "string"
              },
              "choices": {
                "additionalProperties": true,
                "description": "Difference key → survivor, source or union (or a list for tags).",
                "maxProperties": 200,
                "title": "Choices",
                "type": "object"
              },
              "roleChoices": {
                "additionalProperties": true,
                "description": "Customer companies: contact ID → survivor, source or {value}.",
                "maxProperties": 500,
                "title": "Rolechoices",
                "type": "object"
              },
              "reason": {
                "default": "",
                "description": "Why: kept in the merge (required to merge).",
                "maxLength": 500,
                "title": "Reason",
                "type": "string"
              }
            },
            "required": [
              "survivorId"
            ],
            "title": "PreviewInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.duplicate_review"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/duplicates/{entity}/{id_a}/{id_b}/actions/{action}"
          ]
        },
        {
          "name": "restore",
          "scope": "duplicates:write",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "decision:clear",
            "status:open"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Volver a revisar el par",
            "en": "Review the pair again"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``dismiss`` and ``restore``.",
            "properties": {
              "fingerprint": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The fingerprint you saw (GET /api/v1/duplicates); a different current one is 409 DUPLICATE_FINGERPRINT_STALE.",
                "title": "Fingerprint"
              }
            },
            "title": "DecisionInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.duplicate_review"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/duplicates/{entity}/{id_a}/{id_b}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "form_placement",
      "area": "forms",
      "resource": "form-placements",
      "features": [
        "marketing.pages"
      ],
      "kinds": [
        "marketing.placement"
      ],
      "actions": [
        {
          "name": "activate",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "placement:active",
            "public_config:served"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Activar",
            "en": "Activate"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.placement"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/form-placements/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "pause",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "placement:paused",
            "public_config:removed"
          ],
          "leadsTo": [
            "waiting"
          ],
          "title": {
            "es": "Pausar",
            "en": "Pause"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.placement"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/form-placements/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "journey",
      "area": "journeys",
      "resource": "automations",
      "features": [],
      "kinds": [],
      "actions": [
        {
          "name": "activate",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "journey:active",
            "version:published"
          ],
          "leadsTo": [],
          "title": {
            "es": "Activar",
            "en": "Activate"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/automations/{automation_id}/actions/{action}"
          ]
        },
        {
          "name": "cancel",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "journey:cancelled",
            "enrollments:cancelled",
            "sends:cancelled"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Cancelar",
            "en": "Cancel"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/automations/{automation_id}/actions/{action}"
          ]
        },
        {
          "name": "pause",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "journey:paused",
            "sends:paused"
          ],
          "leadsTo": [],
          "title": {
            "es": "Pausar",
            "en": "Pause"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/automations/{automation_id}/actions/{action}"
          ]
        },
        {
          "name": "resume",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "journey:active",
            "sends:retried"
          ],
          "leadsTo": [],
          "title": {
            "es": "Reanudar",
            "en": "Resume"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/automations/{automation_id}/actions/{action}"
          ]
        },
        {
          "name": "retry_sends",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "sends:retried"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Reintentar envíos en pausa",
            "en": "Retry paused sends"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/automations/{automation_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "journey_attention",
      "area": "journeys",
      "resource": null,
      "features": [],
      "kinds": [
        "marketing.journey_attention"
      ],
      "actions": [
        {
          "name": "cancel_enrollment",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "enrollment:cancelled",
            "sends:cancelled"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Cancelar una inscripción",
            "en": "Cancel an enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "enrollmentId": {
                "description": "An enrollment of this journey (GET /api/v1/automations/{id}/enrollments?status=failed,paused).",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Enrollmentid",
                "type": "string"
              }
            },
            "required": [
              "enrollmentId"
            ],
            "title": "EnrollmentInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.journey_attention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/automations/{automation_id}/actions/{action}"
          ]
        },
        {
          "name": "resume_automation",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "journey:active",
            "sends:retried"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Reanudar el recorrido",
            "en": "Resume the journey"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.journey_attention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/automations/{automation_id}/actions/{action}"
          ]
        },
        {
          "name": "resume_enrollment",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "enrollment:active",
            "sends:retried"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Reanudar una inscripción",
            "en": "Resume an enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "enrollmentId": {
                "description": "An enrollment of this journey (GET /api/v1/automations/{id}/enrollments?status=failed,paused).",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Enrollmentid",
                "type": "string"
              }
            },
            "required": [
              "enrollmentId"
            ],
            "title": "EnrollmentInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.journey_attention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/automations/{automation_id}/actions/{action}"
          ]
        },
        {
          "name": "retry_sends",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "sends:retried"
          ],
          "leadsTo": [
            "needs_review",
            "done"
          ],
          "title": {
            "es": "Reintentar envíos en pausa",
            "en": "Retry paused sends"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.journey_attention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "journey_enrollment",
      "area": "journeys",
      "resource": "journey-enrollments",
      "features": [],
      "kinds": [],
      "actions": [
        {
          "name": "cancel",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "enrollment:cancelled",
            "sends:cancelled"
          ],
          "leadsTo": [],
          "title": {
            "es": "Cancelar la inscripción",
            "en": "Cancel the enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/journey-enrollments/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "pause",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "enrollment:paused",
            "sends:paused"
          ],
          "leadsTo": [],
          "title": {
            "es": "Pausar la inscripción",
            "en": "Pause the enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/journey-enrollments/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "resume",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "enrollment:active",
            "sends:retried"
          ],
          "leadsTo": [],
          "title": {
            "es": "Reanudar la inscripción",
            "en": "Resume the enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/journey-enrollments/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "journey_version",
      "area": "journeys",
      "resource": null,
      "features": [],
      "kinds": [
        "marketing.journey_version"
      ],
      "actions": [
        {
          "name": "publish_version",
          "scope": "journeys:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": true,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [
            "draftRevision"
          ],
          "effects": [
            "version:published",
            "content:frozen",
            "enrollments:pinned_to_new_version"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Publicar versión",
            "en": "Publish version"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "draftRevision": {
                "anyOf": [
                  {
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The revision of the draft you reviewed (dryRun answers it in confirm.draftRevision); another one answers 409 REVISION_CONFLICT. Required to publish.",
                "title": "Draftrevision"
              }
            },
            "title": "PublishVersionInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.journey_version"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/automations/{automation_id}/versions/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "knowledge_document",
      "area": "knowledge",
      "resource": null,
      "features": [],
      "kinds": [
        "knowledge.source_error"
      ],
      "actions": [
        {
          "name": "refresh",
          "scope": "knowledge:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "knowledge_document:refreshed_from_source"
          ],
          "leadsTo": [
            "done",
            "needs_review"
          ],
          "title": {
            "es": "Actualizar desde la fuente",
            "en": "Refresh from the source"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "knowledge.source_error"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/knowledge/documents/{document_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "mail_domain",
      "area": "channels",
      "resource": "mail-domains",
      "features": [],
      "kinds": [],
      "actions": [
        {
          "name": "verify",
          "scope": "channels:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "mail_domain:dns_checked"
          ],
          "leadsTo": [
            "done",
            "needs_review"
          ],
          "title": {
            "es": "Verificar con el proveedor",
            "en": "Verify with the provider"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/mail-domains/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "marketing_campaign",
      "area": "campaigns",
      "resource": "campaigns",
      "features": [],
      "kinds": [
        "marketing.campaign"
      ],
      "actions": [
        {
          "name": "cancel",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "campaign:cancelled",
            "recipients:queued_cancelled"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Cancelar",
            "en": "Cancel"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.campaign"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/campaigns/{campaign_id}/actions/{action}"
          ]
        },
        {
          "name": "clone",
          "scope": "campaigns:write",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "campaign:draft_created"
          ],
          "leadsTo": [],
          "title": {
            "es": "Duplicar",
            "en": "Clone"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "maxLength": 160,
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Name of the copy; «<name> (copia)» by default.",
                "title": "Name"
              }
            },
            "title": "CloneInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.campaign"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/campaigns/{campaign_id}/actions/{action}"
          ]
        },
        {
          "name": "pause",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "campaign:paused"
          ],
          "leadsTo": [
            "waiting"
          ],
          "title": {
            "es": "Pausar",
            "en": "Pause"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.campaign"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/campaigns/{campaign_id}/actions/{action}"
          ]
        },
        {
          "name": "preview",
          "scope": "campaigns:write",
          "actor": "service",
          "role": "agent",
          "preview": true,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [],
          "leadsTo": [],
          "title": {
            "es": "Revisar la audiencia",
            "en": "Review the audience"
          },
          "inputSchema": {
            "$defs": {
              "ScheduleSpec": {
                "additionalProperties": false,
                "description": "``schedule`` of ``/preview`` and ``/schedule`` (OPTIMIZACIÓN §4).",
                "properties": {
                  "version": {
                    "const": 1,
                    "default": 1,
                    "title": "Version",
                    "type": "integer"
                  },
                  "mode": {
                    "default": "fixed",
                    "enum": [
                      "fixed",
                      "recipientLocal"
                    ],
                    "title": "Mode",
                    "type": "string"
                  },
                  "localDate": {
                    "anyOf": [
                      {
                        "format": "date",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Localdate"
                  },
                  "localTime": {
                    "anyOf": [
                      {
                        "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Localtime"
                  },
                  "fallbackTimezone": {
                    "anyOf": [
                      {
                        "maxLength": 64,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Fallbacktimezone"
                  },
                  "earliestAt": {
                    "anyOf": [
                      {
                        "format": "date-time",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Earliestat"
                  }
                },
                "title": "ScheduleSpec",
                "type": "object"
              }
            },
            "additionalProperties": false,
            "properties": {
              "schedule": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ScheduleSpec"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The same schedule the execution will use (recipient local time for email and SMS); without it, fixed."
              }
            },
            "title": "PreviewInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.campaign"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/campaigns/{campaign_id}/actions/{action}"
          ]
        },
        {
          "name": "resume",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "campaign:scheduled",
            "experiment:due_applied"
          ],
          "leadsTo": [
            "in_progress"
          ],
          "title": {
            "es": "Reanudar",
            "en": "Resume"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.campaign"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/campaigns/{campaign_id}/actions/{action}"
          ]
        },
        {
          "name": "schedule",
          "scope": "campaigns:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": true,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [
            "audienceFingerprint"
          ],
          "effects": [
            "campaign:scheduled",
            "recipients:frozen"
          ],
          "leadsTo": [
            "in_progress"
          ],
          "title": {
            "es": "Programar",
            "en": "Schedule"
          },
          "inputSchema": {
            "$defs": {
              "ScheduleSpec": {
                "additionalProperties": false,
                "description": "``schedule`` of ``/preview`` and ``/schedule`` (OPTIMIZACIÓN §4).",
                "properties": {
                  "version": {
                    "const": 1,
                    "default": 1,
                    "title": "Version",
                    "type": "integer"
                  },
                  "mode": {
                    "default": "fixed",
                    "enum": [
                      "fixed",
                      "recipientLocal"
                    ],
                    "title": "Mode",
                    "type": "string"
                  },
                  "localDate": {
                    "anyOf": [
                      {
                        "format": "date",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Localdate"
                  },
                  "localTime": {
                    "anyOf": [
                      {
                        "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Localtime"
                  },
                  "fallbackTimezone": {
                    "anyOf": [
                      {
                        "maxLength": 64,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Fallbacktimezone"
                  },
                  "earliestAt": {
                    "anyOf": [
                      {
                        "format": "date-time",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Earliestat"
                  }
                },
                "title": "ScheduleSpec",
                "type": "object"
              }
            },
            "additionalProperties": false,
            "properties": {
              "audienceFingerprint": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Required to execute: confirm.audienceFingerprint of the dryRun. A different audience answers 409 AUDIENCE_CHANGED.",
                "title": "Audiencefingerprint"
              },
              "sendAt": {
                "anyOf": [
                  {
                    "format": "date-time",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "RFC 3339 with its zone; now when absent. Push freezes expiresAt = sendAt + ttlMinutes.",
                "title": "Sendat"
              },
              "schedule": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ScheduleSpec"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The schedule of the dryRun (recipient local time)."
              }
            },
            "title": "ScheduleInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.campaign"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/campaigns/{campaign_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "marketing_connection",
      "area": "channels",
      "resource": "marketing-connections",
      "features": [],
      "kinds": [],
      "actions": [
        {
          "name": "verify",
          "scope": "channels:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "marketing_connection:verified_with_provider"
          ],
          "leadsTo": [
            "done",
            "needs_review"
          ],
          "title": {
            "es": "Verificar con el proveedor",
            "en": "Verify with the provider"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/marketing-connections/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "marketing_conversion",
      "area": "conversions",
      "resource": "conversions",
      "features": [],
      "kinds": [
        "marketing.conversion_reconciliation"
      ],
      "actions": [
        {
          "name": "link",
          "scope": "conversions:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "conversion:reconciled",
            "link:audited"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Vincular a mano",
            "en": "Link by hand"
          },
          "inputSchema": {
            "$defs": {
              "LinkTarget": {
                "additionalProperties": false,
                "properties": {
                  "type": {
                    "description": "deal (an opportunity of the company), order (a declared order: id is its orderId) or contact.",
                    "enum": [
                      "deal",
                      "order",
                      "contact"
                    ],
                    "title": "Type",
                    "type": "string"
                  },
                  "id": {
                    "description": "The deal or contact ID, or the orderId of the order.",
                    "maxLength": 64,
                    "minLength": 1,
                    "title": "Id",
                    "type": "string"
                  },
                  "conversionId": {
                    "anyOf": [
                      {
                        "maxLength": 64,
                        "minLength": 1,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Only for an order declared by several sources (409 ORDER_AMBIGUOUS lists them): the conversion of the order.",
                    "title": "Conversionid"
                  }
                },
                "required": [
                  "type",
                  "id"
                ],
                "title": "LinkTarget",
                "type": "object"
              }
            },
            "additionalProperties": false,
            "properties": {
              "target": {
                "$ref": "#/$defs/LinkTarget"
              },
              "reason": {
                "description": "Why (15-500 characters): kept with the link for the audit.",
                "maxLength": 500,
                "minLength": 15,
                "title": "Reason",
                "type": "string"
              }
            },
            "required": [
              "target",
              "reason"
            ],
            "title": "LinkInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.conversion_reconciliation"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversions/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "revoke_link",
          "scope": "conversions:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "link:revoked",
            "conversion:previous_status",
            "revocation:audited"
          ],
          "leadsTo": [
            "open",
            "done"
          ],
          "title": {
            "es": "Revocar el vínculo",
            "en": "Revoke the link"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "linkId": {
                "description": "An active manual link of this conversion.",
                "maxLength": 64,
                "minLength": 1,
                "title": "Linkid",
                "type": "string"
              },
              "reason": {
                "description": "Why it is revoked (15-500 characters): kept with the revocation for the audit.",
                "maxLength": 500,
                "minLength": 15,
                "title": "Reason",
                "type": "string"
              }
            },
            "required": [
              "linkId",
              "reason"
            ],
            "title": "RevokeLinkInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.conversion_reconciliation"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversions/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "marketing_site",
      "area": "sites",
      "resource": "sites",
      "features": [],
      "kinds": [
        "marketing.site_verification"
      ],
      "actions": [
        {
          "name": "pause",
          "scope": "sites:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "site:paused",
            "modules:stopped"
          ],
          "leadsTo": [],
          "title": {
            "es": "Pausar",
            "en": "Pause"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/sites/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "resume",
          "scope": "sites:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "site:active"
          ],
          "leadsTo": [],
          "title": {
            "es": "Reanudar",
            "en": "Resume"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/sites/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "verify",
          "scope": "sites:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "dns:txt_checked",
            "site:verified"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Verificar",
            "en": "Verify"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.site_verification"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/sites/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "marketing_webhook_delivery",
      "area": "webhooks",
      "resource": null,
      "features": [],
      "kinds": [],
      "actions": [
        {
          "name": "retry",
          "scope": "webhooks:manage",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "webhook_delivery:requeued"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Reintentar la entrega",
            "en": "Retry the delivery"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/marketing-webhooks/{webhook_id}/deliveries/{delivery_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "merge_operation",
      "area": "duplicates",
      "resource": "merges",
      "features": [],
      "kinds": [
        "crm.merge_review"
      ],
      "actions": [
        {
          "name": "review",
          "scope": "duplicates:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "reviewPending:false",
            "status:done"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Marcar como revisada",
            "en": "Mark as reviewed"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.merge_review"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/merges/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "undo",
          "scope": "duplicates:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": true,
          "returns202": false,
          "feature": "crm.merge",
          "sendSwitches": [],
          "confirmFields": [
            "planHash",
            "expiresAt"
          ],
          "effects": [],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Deshacer la fusión",
            "en": "Undo the merge"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``undo``: the tokens of its dryRun (the undo preview).",
            "properties": {
              "planHash": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.planHash of the dryRun (required to run).",
                "title": "Planhash"
              },
              "expiresAt": {
                "anyOf": [
                  {
                    "format": "date-time",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.expiresAt of the dryRun (required to run; 15 minutes).",
                "title": "Expiresat"
              }
            },
            "title": "UndoInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.merge_review"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/merges/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "notification_job",
      "area": "support",
      "resource": "notification-jobs",
      "features": [],
      "kinds": [],
      "actions": [
        {
          "name": "review",
          "scope": "support:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "alert:confirmed_delivered_or_requeued"
          ],
          "leadsTo": [
            "open",
            "done"
          ],
          "title": {
            "es": "Revisar un aviso sin confirmar",
            "en": "Review an unconfirmed alert"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "action": {
                "description": "confirm_delivered: an administrator checked that the person got it; retry: queue it again.",
                "enum": [
                  "confirm_delivered",
                  "retry"
                ],
                "title": "Action",
                "type": "string"
              },
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) for retry: the person may receive the alert twice.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "required": [
              "action"
            ],
            "title": "JobReviewInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/notification-jobs/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "opportunity",
      "area": "deals",
      "resource": "deals",
      "features": [],
      "kinds": [
        "crm.deal_attention"
      ],
      "actions": [
        {
          "name": "archive",
          "scope": "deals:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "archived",
            "history:archived",
            "event:deal.archived"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Archivar",
            "en": "Archive"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.deal_attention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/deals/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "lose",
          "scope": "deals:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "stage:lost",
            "history:stage_changed",
            "event:deal.lost"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Marcar como perdida",
            "en": "Mark as lost"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "lostReason": {
                "anyOf": [
                  {
                    "maxLength": 1000,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Why it was lost; a lost deal needs it.",
                "title": "Lostreason"
              },
              "stageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "A lost stage of the deal's pipeline (the first one by default).",
                "title": "Stageid"
              }
            },
            "title": "LoseInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.deal_attention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/deals/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "reopen",
          "scope": "deals:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "stage:open",
            "history:stage_changed",
            "event:deal.reopened"
          ],
          "leadsTo": [],
          "title": {
            "es": "Reabrir",
            "en": "Reopen"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "stageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "An open stage of the deal's pipeline; by default the stage it was closed from, else the first open stage.",
                "title": "Stageid"
              }
            },
            "title": "ReopenInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.deal_attention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/deals/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "restore",
          "scope": "deals:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "restored",
            "history:restored",
            "event:deal.restored"
          ],
          "leadsTo": [],
          "title": {
            "es": "Restaurar",
            "en": "Restore"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.deal_attention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/deals/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "schedule_next_activity",
          "scope": "deals:write",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "activity:created",
            "history:created"
          ],
          "leadsTo": [],
          "title": {
            "es": "Programar la siguiente actividad",
            "en": "Schedule the next activity"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "title": {
                "maxLength": 200,
                "minLength": 1,
                "title": "Title",
                "type": "string"
              },
              "dueAt": {
                "description": "RFC 3339 with its zone.",
                "format": "date-time",
                "title": "Dueat",
                "type": "string"
              },
              "activityKind": {
                "default": "task",
                "enum": [
                  "task",
                  "call",
                  "email",
                  "meeting"
                ],
                "title": "Activitykind",
                "type": "string"
              },
              "priority": {
                "default": "normal",
                "enum": [
                  "normal",
                  "high"
                ],
                "title": "Priority",
                "type": "string"
              },
              "description": {
                "default": "",
                "maxLength": 10000,
                "title": "Description",
                "type": "string"
              },
              "assigneeId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "An active administrator or agent; by default the deal's owner (else the delegated user, else nobody); null: unassigned.",
                "title": "Assigneeid"
              }
            },
            "required": [
              "title",
              "dueAt"
            ],
            "title": "ScheduleInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.deal_attention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/deals/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "update_deal",
          "scope": "deals:write",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "deal:updated",
            "history:updated"
          ],
          "leadsTo": [],
          "title": {
            "es": "Editar la oportunidad",
            "en": "Update the deal"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The fields of a deal the API may change (``PATCH /api/v1/deals/{id}`` and the action ``update_deal``).",
            "properties": {
              "title": {
                "anyOf": [
                  {
                    "maxLength": 255,
                    "minLength": 2,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Title"
              },
              "amount": {
                "anyOf": [
                  {
                    "description": "A decimal string such as \"1200.50\" or a whole number (never a JSON float).",
                    "type": [
                      "string",
                      "integer"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Amount"
              },
              "currency": {
                "anyOf": [
                  {
                    "pattern": "^[A-Z]{3}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "ISO 4217 code.",
                "title": "Currency"
              },
              "ownerId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "An active administrator or agent; null: unassigned.",
                "title": "Ownerid"
              },
              "expectedClose": {
                "anyOf": [
                  {
                    "maxLength": 10,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "YYYY-MM-DD; null clears it.",
                "title": "Expectedclose"
              },
              "stage": {
                "anyOf": [
                  {
                    "enum": [
                      "lead",
                      "qualified",
                      "proposal",
                      "negotiation",
                      "won",
                      "lost"
                    ],
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Canonical stage; won or lost needs deals:execute.",
                "title": "Stage"
              },
              "pipelineId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Moves the deal to the first open stage of this pipeline.",
                "title": "Pipelineid"
              },
              "stageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "A stage of GET /api/v1/pipelines.",
                "title": "Stageid"
              },
              "lostReason": {
                "anyOf": [
                  {
                    "maxLength": 1000,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Lostreason"
              },
              "probabilityOverride": {
                "anyOf": [
                  {
                    "maximum": 100,
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "0-100; null: the stage's.",
                "title": "Probabilityoverride"
              },
              "forecastCategory": {
                "anyOf": [
                  {
                    "enum": [
                      "pipeline",
                      "best_case",
                      "commit",
                      "omitted"
                    ],
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Forecastcategory"
              },
              "customValues": {
                "anyOf": [
                  {
                    "additionalProperties": true,
                    "maxProperties": 100,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Values of the deal's custom fields by key (only those sent).",
                "title": "Customvalues"
              }
            },
            "title": "DealPatchInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.deal_attention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/deals/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "win",
          "scope": "deals:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "stage:won",
            "history:stage_changed",
            "event:deal.won"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Marcar como ganada",
            "en": "Mark as won"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "stageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "A won stage of the deal's pipeline (the first one by default).",
                "title": "Stageid"
              }
            },
            "title": "WinInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.deal_attention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/deals/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "page_domain",
      "area": "sites",
      "resource": "page-domains",
      "features": [
        "marketing.pages",
        "marketing.custom_domains"
      ],
      "kinds": [
        "marketing.page_domain"
      ],
      "actions": [
        {
          "name": "verify",
          "scope": "sites:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "dns:txt_checked",
            "dns:routing_checked",
            "domain:verified"
          ],
          "leadsTo": [
            "waiting",
            "done"
          ],
          "title": {
            "es": "Verificar",
            "en": "Verify"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.page_domain"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/page-domains/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "playbook_session",
      "area": "playbooks",
      "resource": "playbook-sessions",
      "features": [],
      "kinds": [
        "crm.playbook_session"
      ],
      "actions": [
        {
          "name": "abandon",
          "scope": "playbooks:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.playbooks",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:cancelled"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Abandonar la sesión",
            "en": "Abandon the session"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``abandon``: close the session without effects, keeping its answers.",
            "properties": {
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 1000,
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Why (plain text); a generic reason in the session's language by default.",
                "title": "Reason"
              }
            },
            "title": "AbandonInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.playbook_session"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/playbook-sessions/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "complete",
          "scope": "playbooks:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": true,
          "returns202": false,
          "feature": "crm.playbooks",
          "sendSwitches": [],
          "confirmFields": [
            "expectedValues",
            "target"
          ],
          "effects": [
            "fields:written",
            "note:created",
            "activity:created?",
            "activity:completed?",
            "status:done"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Completar el guion",
            "en": "Complete the playbook"
          },
          "inputSchema": {
            "$defs": {
              "FieldExpectationInput": {
                "additionalProperties": false,
                "description": "A selected destination and the value the preview showed for it (``confirm.expectedValues`` of the dryRun).",
                "properties": {
                  "entity": {
                    "description": "The record the mapped field belongs to.",
                    "enum": [
                      "contact",
                      "opportunity"
                    ],
                    "title": "Entity",
                    "type": "string"
                  },
                  "fieldId": {
                    "maxLength": 64,
                    "minLength": 1,
                    "title": "Fieldid",
                    "type": "string"
                  },
                  "value": {
                    "default": null,
                    "description": "The current value the preview showed (null when it was empty).",
                    "title": "Value"
                  }
                },
                "required": [
                  "entity",
                  "fieldId"
                ],
                "title": "FieldExpectationInput",
                "type": "object"
              },
              "NextActivityInput": {
                "additionalProperties": false,
                "description": "The next follow-up the completion creates (origin playbook).",
                "properties": {
                  "title": {
                    "maxLength": 200,
                    "minLength": 1,
                    "title": "Title",
                    "type": "string"
                  },
                  "activityKind": {
                    "default": "task",
                    "enum": [
                      "task",
                      "call",
                      "email",
                      "meeting"
                    ],
                    "title": "Activitykind",
                    "type": "string"
                  },
                  "dueAt": {
                    "description": "RFC 3339 with its zone.",
                    "format": "date-time",
                    "title": "Dueat",
                    "type": "string"
                  },
                  "assigneeId": {
                    "anyOf": [
                      {
                        "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "An active administrator or agent; by default the delegated user.",
                    "title": "Assigneeid"
                  },
                  "description": {
                    "default": "",
                    "maxLength": 10000,
                    "title": "Description",
                    "type": "string"
                  },
                  "priority": {
                    "default": "normal",
                    "enum": [
                      "normal",
                      "high"
                    ],
                    "title": "Priority",
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "dueAt"
                ],
                "title": "NextActivityInput",
                "type": "object"
              },
              "TargetInput": {
                "additionalProperties": false,
                "description": "The records the preview showed (``confirm.target`` of the dryRun).",
                "properties": {
                  "contactId": {
                    "maxLength": 64,
                    "minLength": 1,
                    "title": "Contactid",
                    "type": "string"
                  },
                  "dealId": {
                    "anyOf": [
                      {
                        "maxLength": 64,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Dealid"
                  },
                  "activityId": {
                    "anyOf": [
                      {
                        "maxLength": 64,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Activityid"
                  }
                },
                "required": [
                  "contactId"
                ],
                "title": "TargetInput",
                "type": "object"
              }
            },
            "additionalProperties": false,
            "description": "``complete``: run it with ``dryRun`` first and send its ``confirm`` (``expectedValues`` and ``target``).",
            "properties": {
              "expectedValues": {
                "anyOf": [
                  {
                    "items": {
                      "$ref": "#/$defs/FieldExpectationInput"
                    },
                    "maxItems": 50,
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.expectedValues of the dryRun (required to run; [] writes no field).",
                "title": "Expectedvalues"
              },
              "target": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/TargetInput"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm.target of the dryRun (required to run)."
              },
              "nextActivity": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/NextActivityInput"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "completeActivity": {
                "default": false,
                "description": "Also mark the linked open follow-up as done.",
                "title": "Completeactivity",
                "type": "boolean"
              }
            },
            "title": "CompleteInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.playbook_session"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/playbook-sessions/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "save",
          "scope": "playbooks:write",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.playbooks",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "answers:saved",
            "revision:+1"
          ],
          "leadsTo": [],
          "title": {
            "es": "Guardar respuestas",
            "en": "Save answers"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "``save`` (and the PATCH of the resource): the answers (all of them: they replace the saved ones) and/or the\nnotes of an open session.",
            "properties": {
              "answers": {
                "anyOf": [
                  {
                    "additionalProperties": true,
                    "maxProperties": 50,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Answers keyed by question ID of the pinned version (GET /api/v1/playbook-sessions/{id}: version.definition); they replace the saved ones (null clears them). A null for a question in redactedQuestionIds keeps its saved answer, so sending back the answers you read never clears what you could not read.",
                "title": "Answers"
              },
              "notes": {
                "anyOf": [
                  {
                    "maxLength": 10000,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Plain-text notes of the session.",
                "title": "Notes"
              }
            },
            "title": "SaveInput",
            "type": "object"
          },
          "taskKinds": [
            "crm.playbook_session"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/playbook-sessions/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "sales_conversation",
      "area": "sequences",
      "resource": null,
      "features": [],
      "kinds": [
        "sales.conversation"
      ],
      "actions": [
        {
          "name": "mark_read",
          "scope": "sequences:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "unread:cleared"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Marcar como leída",
            "en": "Mark as read"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "sales.conversation"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}"
          ]
        },
        {
          "name": "reply",
          "scope": "sequences:execute",
          "actor": "owner",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [
            "salesSequencesSend"
          ],
          "confirmFields": [],
          "effects": [
            "message:sent_from_owner_mailbox",
            "reply_lease:claimed",
            "unread:cleared"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Responder desde el buzón",
            "en": "Reply from the mailbox"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "text": {
                "description": "The reply, sent from the owner's own mailbox.",
                "maxLength": 10000,
                "minLength": 1,
                "title": "Text",
                "type": "string"
              },
              "expectedLastMessageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Required: the ID of the last message you read (GET /api/v1/conversations/{id}/messages); another value is 409 CONVERSATION_CHANGED.",
                "title": "Expectedlastmessageid"
              }
            },
            "required": [
              "text",
              "expectedLastMessageId"
            ],
            "title": "SalesReplyInput",
            "type": "object"
          },
          "taskKinds": [
            "sales.conversation"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "sales_enrollment",
      "area": "sequences",
      "resource": "sequence-enrollments",
      "features": [],
      "kinds": [
        "sales.enrollment"
      ],
      "actions": [
        {
          "name": "cancel",
          "scope": "sequences:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:cancelled",
            "pending_steps:cancelled",
            "tasks:closed",
            "recipient:released",
            "ledger:cancel"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Cancelar la inscripción",
            "en": "Cancel the enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Optional reason kept in the ledger of the enrollment (plain text).",
                "title": "Reason"
              }
            },
            "title": "ReasonInput",
            "type": "object"
          },
          "taskKinds": [
            "sales.enrollment"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/sequence-enrollments/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "pause",
          "scope": "sequences:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:paused",
            "ledger:pause"
          ],
          "leadsTo": [
            "waiting"
          ],
          "title": {
            "es": "Pausar la inscripción",
            "en": "Pause the enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Optional reason kept in the ledger of the enrollment (plain text).",
                "title": "Reason"
              }
            },
            "title": "ReasonInput",
            "type": "object"
          },
          "taskKinds": [
            "sales.enrollment"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/sequence-enrollments/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "reconcile_execution",
          "scope": "sequences:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "mailbox:read",
            "execution:accepted|not_sent|inconclusive",
            "ledger:reconcile"
          ],
          "leadsTo": [
            "done",
            "needs_review"
          ],
          "title": {
            "es": "Conciliar con el buzón",
            "en": "Reconcile with the mailbox"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "executionId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The unconfirmed send (default: the current one).",
                "title": "Executionid"
              }
            },
            "title": "ReconcileInput",
            "type": "object"
          },
          "taskKinds": [
            "sales.enrollment"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/sequence-enrollments/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "resume",
          "scope": "sequences:execute",
          "actor": "owner",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:resumed",
            "next_step:replanned",
            "ledger:resume"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Reanudar la inscripción",
            "en": "Resume the enrollment"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Optional reason kept in the ledger of the enrollment (plain text).",
                "title": "Reason"
              },
              "continueWithoutOpportunity": {
                "default": false,
                "description": "The deal was won, lost or archived: continue without it (only when the texts do not use its title).",
                "title": "Continuewithoutopportunity",
                "type": "boolean"
              }
            },
            "title": "ResumeInput",
            "type": "object"
          },
          "taskKinds": [
            "sales.enrollment"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/sequence-enrollments/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "review_execution",
          "scope": "sequences:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "execution:accepted|retry_scheduled",
            "ledger:review"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Revisar el envío",
            "en": "Review the send"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "executionId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The send to review (default: the current one).",
                "title": "Executionid"
              },
              "decision": {
                "description": "confirm_accepted (owner or administrator, with evidence) or retry (only the mailbox owner).",
                "enum": [
                  "confirm_accepted",
                  "retry"
                ],
                "title": "Decision",
                "type": "string"
              },
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "retry of an unconfirmed send: the first one may have reached the contact; acknowledge the possible duplicate.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              },
              "evidence": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "confirm_accepted: what proves it was sent.",
                "title": "Evidence"
              },
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "retry: optional reason.",
                "title": "Reason"
              }
            },
            "required": [
              "decision"
            ],
            "title": "ReviewInput",
            "type": "object"
          },
          "taskKinds": [
            "sales.enrollment"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/sequence-enrollments/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "skip_step",
          "scope": "sequences:execute",
          "actor": "owner",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "step:skipped",
            "next_step:planned",
            "ledger:skip_step"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Saltar el paso",
            "en": "Skip the step"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "description": "Required: why the current step is skipped.",
                "maxLength": 500,
                "minLength": 1,
                "title": "Reason",
                "type": "string"
              }
            },
            "required": [
              "reason"
            ],
            "title": "SkipInput",
            "type": "object"
          },
          "taskKinds": [
            "sales.enrollment"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/sequence-enrollments/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "sales_mailbox",
      "area": "sequences",
      "resource": null,
      "features": [],
      "kinds": [
        "sales.mailbox"
      ],
      "actions": []
    },
    {
      "entity": "sales_sequence",
      "area": "sequences",
      "resource": "sequences",
      "features": [],
      "kinds": [],
      "actions": [
        {
          "name": "pause",
          "scope": "sequences:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "sequence:paused",
            "enrollments:paused"
          ],
          "leadsTo": [],
          "title": {
            "es": "Pausar la secuencia",
            "en": "Pause the sequence"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Optional reason kept in the ledger of the enrollment (plain text).",
                "title": "Reason"
              }
            },
            "title": "ReasonInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/sequences/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "resume",
          "scope": "sequences:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": "crm.sequences",
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "sequence:published",
            "enrollments:resumed"
          ],
          "leadsTo": [],
          "title": {
            "es": "Reanudar la secuencia",
            "en": "Resume the sequence"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "reason": {
                "anyOf": [
                  {
                    "maxLength": 500,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Optional reason kept in the ledger of the enrollment (plain text).",
                "title": "Reason"
              }
            },
            "title": "ReasonInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/sequences/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "signup_form",
      "area": "forms",
      "resource": "forms",
      "features": [
        "marketing.pages"
      ],
      "kinds": [
        "marketing.form_publication"
      ],
      "actions": [
        {
          "name": "archive",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "form:archived"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Archivar",
            "en": "Archive"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "expectedRevision": {
                "anyOf": [
                  {
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The revision you read (the number of the ETag W/\"<revision>\"); another one answers 412 REVISION_CONFLICT.",
                "title": "Expectedrevision"
              }
            },
            "title": "FormStateInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.form_publication"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/forms/{form_id}/actions/{action}"
          ]
        },
        {
          "name": "pause",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "form:paused"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Pausar",
            "en": "Pause"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "expectedRevision": {
                "anyOf": [
                  {
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The revision you read (the number of the ETag W/\"<revision>\"); another one answers 412 REVISION_CONFLICT.",
                "title": "Expectedrevision"
              }
            },
            "title": "FormStateInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.form_publication"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/forms/{form_id}/actions/{action}"
          ]
        },
        {
          "name": "publish",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "form:published",
            "version:frozen"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Publicar",
            "en": "Publish"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "expectedRevision": {
                "anyOf": [
                  {
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The revision you read (the number of the ETag W/\"<revision>\"); another one answers 412 REVISION_CONFLICT.",
                "title": "Expectedrevision"
              }
            },
            "title": "FormStateInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.form_publication"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/forms/{form_id}/actions/{action}"
          ]
        },
        {
          "name": "resume",
          "scope": "forms:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "form:published"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Reanudar",
            "en": "Resume"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "expectedRevision": {
                "anyOf": [
                  {
                    "minimum": 0,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The revision you read (the number of the ETag W/\"<revision>\"); another one answers 412 REVISION_CONFLICT.",
                "title": "Expectedrevision"
              }
            },
            "title": "FormStateInput",
            "type": "object"
          },
          "taskKinds": [
            "marketing.form_publication"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/forms/{form_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "support_case",
      "area": "support",
      "resource": "tickets",
      "features": [],
      "kinds": [
        "support.ticket"
      ],
      "actions": [
        {
          "name": "add_note",
          "scope": "support:write",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "note:internal",
            "mention:notified",
            "task:support.mention"
          ],
          "leadsTo": [],
          "title": {
            "es": "Añadir nota interna",
            "en": "Add an internal note"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "text": {
                "description": "Internal note: never sent to the customer.",
                "maxLength": 5000,
                "minLength": 1,
                "title": "Text",
                "type": "string"
              },
              "mentionUserIds": {
                "description": "Active users of the company to notify (GET /api/v1/members).",
                "items": {
                  "maxLength": 64,
                  "minLength": 1,
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                  "type": "string"
                },
                "maxItems": 20,
                "title": "Mentionuserids",
                "type": "array"
              }
            },
            "required": [
              "text"
            ],
            "title": "NoteActionInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "apply_macro",
          "scope": "support:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": true,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [
            "previewToken"
          ],
          "effects": [
            "macro:status",
            "macro:priority",
            "macro:assignee",
            "macro:labels"
          ],
          "leadsTo": [],
          "title": {
            "es": "Aplicar macro",
            "en": "Apply a macro"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "macroId": {
                "description": "A macro of the company (GET /api/v1/macros).",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Macroid",
                "type": "string"
              },
              "previewToken": {
                "anyOf": [
                  {
                    "pattern": "^[a-f0-9]{64}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Required to execute: the previewToken of the dryRun (409 PREVIEW_STALE when the conversation changed).",
                "title": "Previewtoken"
              }
            },
            "required": [
              "macroId"
            ],
            "title": "MacroInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "assign",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "assignee",
            "snooze:cleared"
          ],
          "leadsTo": [],
          "title": {
            "es": "Asignar",
            "en": "Assign"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "assigneeId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "An active administrator or agent of the company (GET /api/v1/members); null leaves the ticket unassigned.",
                "title": "Assigneeid"
              }
            },
            "required": [
              "assigneeId"
            ],
            "title": "AssignInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "hand_off",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:pending",
            "assistant:paused",
            "alert:handoff",
            "queue:assign"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Derivar a una persona",
            "en": "Hand off to a person"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "mark_read",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "unread:cleared"
          ],
          "leadsTo": [],
          "title": {
            "es": "Marcar como leída",
            "en": "Mark as read"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "merge_into",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:resolved",
            "csat:close_cycle:ticket_merged",
            "history:merged_into"
          ],
          "leadsTo": [
            "cancelled"
          ],
          "title": {
            "es": "Fusionar en otro ticket",
            "en": "Merge into another ticket"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "targetTicketId": {
                "description": "The ticket that remains: same contact, not merged.",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Targetticketid",
                "type": "string"
              }
            },
            "required": [
              "targetTicketId"
            ],
            "title": "MergeIntoInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "public_reply",
          "scope": "support:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "ticket_event:public_reply",
            "portal:visible",
            "sla:first_response"
          ],
          "leadsTo": [],
          "title": {
            "es": "Respuesta pública en el portal",
            "en": "Public reply on the portal"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "text": {
                "description": "The public reply shown on the customer portal.",
                "maxLength": 10000,
                "minLength": 1,
                "title": "Text",
                "type": "string"
              }
            },
            "required": [
              "text"
            ],
            "title": "PublicReplyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "reopen",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:open",
            "sla:resumed",
            "csat:reopen_cycle",
            "history:status_changed"
          ],
          "leadsTo": [
            "open",
            "in_progress"
          ],
          "title": {
            "es": "Reabrir",
            "en": "Reopen"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "reply",
          "scope": "support:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "message:sent",
            "reply_lease:claimed",
            "sla:first_response",
            "status:pending_to_open"
          ],
          "leadsTo": [],
          "title": {
            "es": "Responder al cliente",
            "en": "Reply to the customer"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "text": {
                "description": "The reply to the customer (WhatsApp: at most 4096 characters; social networks: 1000).",
                "maxLength": 10000,
                "minLength": 1,
                "title": "Text",
                "type": "string"
              },
              "expectedLastMessageId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Required: the ID of the last message you read (GET /api/v1/conversations/{id}/messages); null when the conversation has no message yet. Another value is 409 CONVERSATION_CHANGED.",
                "title": "Expectedlastmessageid"
              }
            },
            "required": [
              "text",
              "expectedLastMessageId"
            ],
            "title": "ReplyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "resolve",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status:done",
            "sla:resolution_stopped",
            "csat:close_cycle",
            "history:status_changed"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Resolver",
            "en": "Resolve"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "return_to_ai",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "assistant:resumed",
            "status:open"
          ],
          "leadsTo": [
            "in_progress"
          ],
          "title": {
            "es": "Devolver a la IA",
            "en": "Return to the AI"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "set_labels",
          "scope": "support:write",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "labels"
          ],
          "leadsTo": [],
          "title": {
            "es": "Etiquetar",
            "en": "Set labels"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "labelIds": {
                "description": "Every label of the conversation (GET /api/v1/labels); [] removes them all.",
                "items": {
                  "maxLength": 64,
                  "minLength": 1,
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                  "type": "string"
                },
                "maxItems": 30,
                "title": "Labelids",
                "type": "array"
              }
            },
            "required": [
              "labelIds"
            ],
            "title": "SetLabelsInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "set_stage",
          "scope": "support:write",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "stage",
            "history:updated"
          ],
          "leadsTo": [],
          "title": {
            "es": "Cambiar etapa",
            "en": "Change stage"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "pipelineId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "A ticket pipeline; by default the ticket's own.",
                "title": "Pipelineid"
              },
              "stageId": {
                "description": "A stage of that pipeline.",
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                "title": "Stageid",
                "type": "string"
              }
            },
            "required": [
              "stageId"
            ],
            "title": "SetStageInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "set_status",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "status",
            "sla:pause_or_resume",
            "history:status_changed"
          ],
          "leadsTo": [
            "open",
            "waiting",
            "done"
          ],
          "title": {
            "es": "Cambiar estado",
            "en": "Change status"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "sourceStatus": {
                "description": "The native status of the ticket.",
                "enum": [
                  "open",
                  "pending",
                  "waiting_customer",
                  "waiting_internal",
                  "paused",
                  "resolved"
                ],
                "title": "Sourcestatus",
                "type": "string"
              }
            },
            "required": [
              "sourceStatus"
            ],
            "title": "SetStatusInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "set_team",
          "scope": "support:write",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "team",
            "history:updated"
          ],
          "leadsTo": [],
          "title": {
            "es": "Cambiar equipo",
            "en": "Change team"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "teamId": {
                "anyOf": [
                  {
                    "maxLength": 64,
                    "minLength": 1,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "An enabled support team (GET /api/v1/support-teams); null removes the team.",
                "title": "Teamid"
              }
            },
            "required": [
              "teamId"
            ],
            "title": "SetTeamInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "snooze",
          "scope": "support:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "snooze:until",
            "status:pending",
            "assignee:parked",
            "assistant:paused"
          ],
          "leadsTo": [
            "waiting"
          ],
          "title": {
            "es": "Posponer",
            "en": "Snooze"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "until": {
                "description": "RFC 3339 with its offset: a future moment within 90 days.",
                "format": "date-time",
                "title": "Until",
                "type": "string"
              }
            },
            "required": [
              "until"
            ],
            "title": "SnoozeActionInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "split",
          "scope": "support:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "ticket:created",
            "history:split"
          ],
          "leadsTo": [],
          "title": {
            "es": "Dividir",
            "en": "Split"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "title": {
                "description": "Title of the new child ticket.",
                "maxLength": 255,
                "minLength": 1,
                "title": "Title",
                "type": "string"
              },
              "description": {
                "default": "",
                "description": "Internal description of the child ticket.",
                "maxLength": 20000,
                "title": "Description",
                "type": "string"
              }
            },
            "required": [
              "title"
            ],
            "title": "SplitInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        },
        {
          "name": "unsnooze",
          "scope": "support:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "snooze:cancelled",
            "status:pending",
            "assignee:restored"
          ],
          "leadsTo": [
            "open"
          ],
          "title": {
            "es": "Reactivar ahora",
            "en": "Wake up now"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.ticket"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/conversations/{conversation_id}/actions/{action}",
            "/api/v1/tickets/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "support_mention",
      "area": "support",
      "resource": "mentions",
      "features": [],
      "kinds": [
        "support.mention"
      ],
      "actions": [
        {
          "name": "mark_read",
          "scope": "support:execute",
          "actor": "recipient",
          "role": "agent",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "mention:read"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Marcar como leída",
            "en": "Mark as read"
          },
          "inputSchema": {
            "additionalProperties": false,
            "description": "The input of an action without parameters: ``{}``.",
            "properties": {},
            "title": "EmptyInput",
            "type": "object"
          },
          "taskKinds": [
            "support.mention"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/mentions/{resource_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "voice_call",
      "area": "voice",
      "resource": null,
      "features": [],
      "kinds": [],
      "actions": [
        {
          "name": "email_summary",
          "scope": "voice:execute",
          "actor": "delegated",
          "role": "agent",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "voice_job:email_queued"
          ],
          "leadsTo": [],
          "title": {
            "es": "Enviar el resumen por correo",
            "en": "Email the summary"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "emailAccountId": {
                "description": "A mailbox connected to the company (the app's voice settings list them).",
                "maxLength": 160,
                "minLength": 1,
                "title": "Emailaccountid",
                "type": "string"
              },
              "recipient": {
                "description": "The email address that receives the summary.",
                "maxLength": 254,
                "minLength": 3,
                "title": "Recipient",
                "type": "string"
              },
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) when an earlier email of this call to the same recipient is unconfirmed.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "required": [
              "emailAccountId",
              "recipient"
            ],
            "title": "EmailSummaryInput",
            "type": "object"
          },
          "taskKinds": [],
          "paths": [
            "/api/v1/voice/calls/{call_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "voice_capacity_reservation",
      "area": "voice",
      "resource": null,
      "features": [],
      "kinds": [
        "voice.capacity_review"
      ],
      "actions": [
        {
          "name": "review",
          "scope": "voice:admin",
          "actor": "delegated",
          "role": "admin",
          "preview": false,
          "returns202": false,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "voice_capacity:checked_with_provider"
          ],
          "leadsTo": [
            "done",
            "needs_review"
          ],
          "title": {
            "es": "Revisar con el proveedor",
            "en": "Review with the provider"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "providerCallSid": {
                "anyOf": [
                  {
                    "pattern": "^CA[a-fA-F0-9]{32}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Optional: the provider's call (CA + 32 hex) an administrator found for this reservation; it is checked against the provider before the slot changes.",
                "title": "Providercallsid"
              }
            },
            "title": "CapacityReviewInput",
            "type": "object"
          },
          "taskKinds": [
            "voice.capacity_review"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/voice/capacity/{reservation_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "voice_job",
      "area": "voice",
      "resource": null,
      "features": [],
      "kinds": [
        "voice.job"
      ],
      "actions": [
        {
          "name": "retry",
          "scope": "voice:execute",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "voice_job:requeued"
          ],
          "leadsTo": [
            "in_progress"
          ],
          "title": {
            "es": "Reintentar",
            "en": "Retry"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "confirmPossibleDuplicate": {
                "default": false,
                "description": "Required (true) when the job is uncertain: the previous email may have been delivered and the recipient may receive it twice. Not needed for a proven failure.",
                "title": "Confirmpossibleduplicate",
                "type": "boolean"
              }
            },
            "title": "RetryInput",
            "type": "object"
          },
          "taskKinds": [
            "voice.job"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}",
            "/api/v1/voice/jobs/{job_id}/actions/{action}"
          ]
        }
      ]
    },
    {
      "entity": "webhook_endpoint",
      "area": "webhooks",
      "resource": null,
      "features": [],
      "kinds": [
        "integration.webhook_failed"
      ],
      "actions": [
        {
          "name": "retry",
          "scope": "webhooks:manage",
          "actor": "service",
          "role": "agent",
          "preview": false,
          "returns202": true,
          "feature": null,
          "sendSwitches": [],
          "confirmFields": [],
          "effects": [
            "webhook_deliveries:requeued"
          ],
          "leadsTo": [
            "done"
          ],
          "title": {
            "es": "Reintentar las entregas fallidas",
            "en": "Retry the failed deliveries"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "deliveryId": {
                "anyOf": [
                  {
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "A failed delivery of the endpoint; without it, every failed delivery of the endpoint (up to 100) is queued again with a new series of attempts.",
                "title": "Deliveryid"
              }
            },
            "title": "RetryInput",
            "type": "object"
          },
          "taskKinds": [
            "integration.webhook_failed"
          ],
          "paths": [
            "/api/v1/tasks/{task_id}/actions/{action}"
          ]
        }
      ]
    }
  ],
  "scopes": {
    "levels": [
      {
        "key": "read",
        "role": "viewer",
        "name": {
          "es": "Leer",
          "en": "Read"
        },
        "sensitive": false
      },
      {
        "key": "write",
        "role": "agent",
        "name": {
          "es": "Crear y editar",
          "en": "Create and edit"
        },
        "sensitive": false
      },
      {
        "key": "execute",
        "role": "agent",
        "name": {
          "es": "Ejecutar acciones",
          "en": "Run actions"
        },
        "sensitive": false
      },
      {
        "key": "admin",
        "role": "admin",
        "name": {
          "es": "Acciones de administrador",
          "en": "Administrator actions"
        },
        "sensitive": true
      },
      {
        "key": "content",
        "role": "viewer",
        "name": {
          "es": "Ver contenido",
          "en": "Read content"
        },
        "sensitive": true
      }
    ],
    "areas": [
      {
        "key": "contacts",
        "name": {
          "es": "Contactos",
          "en": "Contacts"
        },
        "description": {
          "es": "Contactos y sus notas; la invitación de doble opt-in exige además «API y eventos».",
          "en": "Contacts and their notes; the double opt-in invitation also needs “API and events”."
        },
        "levels": [
          "read",
          "write"
        ],
        "scopes": [
          {
            "scope": "contacts:read",
            "area": "contacts",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Contactos: leer",
              "en": "Contacts: read"
            }
          },
          {
            "scope": "contacts:write",
            "area": "contacts",
            "level": "write",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Contactos: crear y editar",
              "en": "Contacts: create and edit"
            }
          },
          {
            "scope": "subscriptions:invite",
            "area": "contacts",
            "level": null,
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Invitar a suscribirse",
              "en": "Invite to subscribe"
            }
          }
        ],
        "feature": null,
        "partialFeatures": [
          "marketing.api"
        ]
      },
      {
        "key": "companies",
        "name": {
          "es": "Empresas cliente",
          "en": "Customer companies"
        },
        "description": {
          "es": "Empresas cliente.",
          "en": "Customer companies."
        },
        "levels": [
          "read",
          "write"
        ],
        "scopes": [
          {
            "scope": "companies:read",
            "area": "companies",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Empresas cliente: leer",
              "en": "Customer companies: read"
            }
          },
          {
            "scope": "companies:write",
            "area": "companies",
            "level": "write",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Empresas cliente: crear y editar",
              "en": "Customer companies: create and edit"
            }
          }
        ],
        "feature": null,
        "partialFeatures": []
      },
      {
        "key": "deals",
        "name": {
          "es": "Oportunidades",
          "en": "Deals"
        },
        "description": {
          "es": "Oportunidades, pipelines (lectura) y avisos.",
          "en": "Deals, pipelines (read only) and warnings."
        },
        "levels": [
          "read",
          "write",
          "execute"
        ],
        "scopes": [
          {
            "scope": "deals:read",
            "area": "deals",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Oportunidades: leer",
              "en": "Deals: read"
            }
          },
          {
            "scope": "deals:write",
            "area": "deals",
            "level": "write",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Oportunidades: crear y editar",
              "en": "Deals: create and edit"
            }
          },
          {
            "scope": "deals:execute",
            "area": "deals",
            "level": "execute",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Oportunidades: ejecutar acciones",
              "en": "Deals: run actions"
            }
          }
        ],
        "feature": null,
        "partialFeatures": []
      },
      {
        "key": "activities",
        "name": {
          "es": "Actividades y seguimientos",
          "en": "Activities and follow-ups"
        },
        "description": {
          "es": "Actividades y seguimientos.",
          "en": "Activities and follow-ups."
        },
        "levels": [
          "read",
          "write",
          "execute"
        ],
        "scopes": [
          {
            "scope": "activities:read",
            "area": "activities",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Actividades y seguimientos: leer",
              "en": "Activities and follow-ups: read"
            }
          },
          {
            "scope": "activities:write",
            "area": "activities",
            "level": "write",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Actividades y seguimientos: crear y editar",
              "en": "Activities and follow-ups: create and edit"
            }
          },
          {
            "scope": "activities:execute",
            "area": "activities",
            "level": "execute",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Actividades y seguimientos: ejecutar acciones",
              "en": "Activities and follow-ups: run actions"
            }
          }
        ],
        "feature": null,
        "partialFeatures": []
      },
      {
        "key": "sequences",
        "name": {
          "es": "Secuencias comerciales",
          "en": "Sales sequences"
        },
        "description": {
          "es": "Secuencias, inscripciones, estado del buzón y respuestas comerciales.",
          "en": "Sequences, enrollments, mailbox status and sales replies."
        },
        "levels": [
          "read",
          "execute"
        ],
        "scopes": [
          {
            "scope": "sequences:read",
            "area": "sequences",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Secuencias comerciales: leer",
              "en": "Sales sequences: read"
            }
          },
          {
            "scope": "sequences:execute",
            "area": "sequences",
            "level": "execute",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Secuencias comerciales: ejecutar acciones",
              "en": "Sales sequences: run actions"
            }
          }
        ],
        "feature": "crm.sequences",
        "partialFeatures": []
      },
      {
        "key": "playbooks",
        "name": {
          "es": "Guiones comerciales",
          "en": "Sales playbooks"
        },
        "description": {
          "es": "Guiones y sesiones.",
          "en": "Playbooks and sessions."
        },
        "levels": [
          "read",
          "write",
          "execute"
        ],
        "scopes": [
          {
            "scope": "playbooks:read",
            "area": "playbooks",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Guiones comerciales: leer",
              "en": "Sales playbooks: read"
            }
          },
          {
            "scope": "playbooks:write",
            "area": "playbooks",
            "level": "write",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Guiones comerciales: crear y editar",
              "en": "Sales playbooks: create and edit"
            }
          },
          {
            "scope": "playbooks:execute",
            "area": "playbooks",
            "level": "execute",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Guiones comerciales: ejecutar acciones",
              "en": "Sales playbooks: run actions"
            }
          }
        ],
        "feature": "crm.playbooks",
        "partialFeatures": []
      },
      {
        "key": "duplicates",
        "name": {
          "es": "Duplicados y fusiones",
          "en": "Duplicates and merges"
        },
        "description": {
          "es": "Duplicados, fusión y deshacer.",
          "en": "Duplicates, merging and undo."
        },
        "levels": [
          "read",
          "write",
          "admin"
        ],
        "scopes": [
          {
            "scope": "duplicates:read",
            "area": "duplicates",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Duplicados y fusiones: leer",
              "en": "Duplicates and merges: read"
            }
          },
          {
            "scope": "duplicates:write",
            "area": "duplicates",
            "level": "write",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Duplicados y fusiones: crear y editar",
              "en": "Duplicates and merges: create and edit"
            }
          },
          {
            "scope": "duplicates:admin",
            "area": "duplicates",
            "level": "admin",
            "role": "admin",
            "sensitive": true,
            "name": {
              "es": "Duplicados y fusiones: acciones de administrador",
              "en": "Duplicates and merges: administrator actions"
            }
          }
        ],
        "feature": "crm.merge",
        "partialFeatures": []
      },
      {
        "key": "support",
        "name": {
          "es": "Conversaciones y tickets",
          "en": "Conversations and tickets"
        },
        "description": {
          "es": "Conversaciones, tickets y SLA, menciones, recados y avisos, macros y disponibilidad.",
          "en": "Conversations, tickets and SLA, mentions, customer messages and alerts, macros and availability."
        },
        "levels": [
          "read",
          "write",
          "execute",
          "admin",
          "content"
        ],
        "scopes": [
          {
            "scope": "support:read",
            "area": "support",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Conversaciones y tickets: leer",
              "en": "Conversations and tickets: read"
            }
          },
          {
            "scope": "support:write",
            "area": "support",
            "level": "write",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Conversaciones y tickets: crear y editar",
              "en": "Conversations and tickets: create and edit"
            }
          },
          {
            "scope": "support:execute",
            "area": "support",
            "level": "execute",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Conversaciones y tickets: ejecutar acciones",
              "en": "Conversations and tickets: run actions"
            }
          },
          {
            "scope": "support:admin",
            "area": "support",
            "level": "admin",
            "role": "admin",
            "sensitive": true,
            "name": {
              "es": "Conversaciones y tickets: acciones de administrador",
              "en": "Conversations and tickets: administrator actions"
            }
          },
          {
            "scope": "support:content",
            "area": "support",
            "level": "content",
            "role": "viewer",
            "sensitive": true,
            "name": {
              "es": "Conversaciones y tickets: ver contenido",
              "en": "Conversations and tickets: read content"
            }
          }
        ],
        "feature": null,
        "partialFeatures": []
      },
      {
        "key": "csat",
        "name": {
          "es": "Encuestas de satisfacción",
          "en": "Satisfaction surveys"
        },
        "description": {
          "es": "Encuestas y entregas CSAT.",
          "en": "CSAT surveys and deliveries."
        },
        "levels": [
          "read",
          "execute",
          "admin"
        ],
        "scopes": [
          {
            "scope": "csat:read",
            "area": "csat",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Encuestas de satisfacción: leer",
              "en": "Satisfaction surveys: read"
            }
          },
          {
            "scope": "csat:execute",
            "area": "csat",
            "level": "execute",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Encuestas de satisfacción: ejecutar acciones",
              "en": "Satisfaction surveys: run actions"
            }
          },
          {
            "scope": "csat:admin",
            "area": "csat",
            "level": "admin",
            "role": "admin",
            "sensitive": true,
            "name": {
              "es": "Encuestas de satisfacción: acciones de administrador",
              "en": "Satisfaction surveys: administrator actions"
            }
          }
        ],
        "feature": null,
        "partialFeatures": [
          "support.csat_auto"
        ]
      },
      {
        "key": "voice",
        "name": {
          "es": "Voz",
          "en": "Voice"
        },
        "description": {
          "es": "Llamadas, trabajos de voz y capacidad.",
          "en": "Calls, voice jobs and capacity."
        },
        "levels": [
          "read",
          "execute",
          "admin",
          "content"
        ],
        "scopes": [
          {
            "scope": "voice:read",
            "area": "voice",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Voz: leer",
              "en": "Voice: read"
            }
          },
          {
            "scope": "voice:execute",
            "area": "voice",
            "level": "execute",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Voz: ejecutar acciones",
              "en": "Voice: run actions"
            }
          },
          {
            "scope": "voice:admin",
            "area": "voice",
            "level": "admin",
            "role": "admin",
            "sensitive": true,
            "name": {
              "es": "Voz: acciones de administrador",
              "en": "Voice: administrator actions"
            }
          },
          {
            "scope": "voice:content",
            "area": "voice",
            "level": "content",
            "role": "viewer",
            "sensitive": true,
            "name": {
              "es": "Voz: ver contenido",
              "en": "Voice: read content"
            }
          }
        ],
        "feature": null,
        "partialFeatures": []
      },
      {
        "key": "calendar",
        "name": {
          "es": "Calendario y reuniones",
          "en": "Calendar and meetings"
        },
        "description": {
          "es": "Calendarios, disponibilidad y reservas.",
          "en": "Calendars, availability and bookings."
        },
        "levels": [
          "read",
          "execute"
        ],
        "scopes": [
          {
            "scope": "calendar:read",
            "area": "calendar",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Calendario y reuniones: leer",
              "en": "Calendar and meetings: read"
            }
          },
          {
            "scope": "calendar:execute",
            "area": "calendar",
            "level": "execute",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Calendario y reuniones: ejecutar acciones",
              "en": "Calendar and meetings: run actions"
            }
          }
        ],
        "feature": null,
        "partialFeatures": []
      },
      {
        "key": "campaigns",
        "name": {
          "es": "Campañas",
          "en": "Campaigns"
        },
        "description": {
          "es": "Campañas de email, SMS y push, plantillas, revisión de entregas y experimentos.",
          "en": "Email, SMS and push campaigns, templates, delivery review and experiments."
        },
        "levels": [
          "read",
          "write",
          "admin"
        ],
        "scopes": [
          {
            "scope": "campaigns:read",
            "area": "campaigns",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Campañas: leer",
              "en": "Campaigns: read"
            }
          },
          {
            "scope": "campaigns:write",
            "area": "campaigns",
            "level": "write",
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Campañas: crear y editar",
              "en": "Campaigns: create and edit"
            }
          },
          {
            "scope": "campaigns:admin",
            "area": "campaigns",
            "level": "admin",
            "role": "admin",
            "sensitive": true,
            "name": {
              "es": "Campañas: acciones de administrador",
              "en": "Campaigns: administrator actions"
            }
          }
        ],
        "feature": null,
        "partialFeatures": [
          "marketing.push",
          "marketing.experiments"
        ]
      },
      {
        "key": "journeys",
        "name": {
          "es": "Recorridos",
          "en": "Journeys"
        },
        "description": {
          "es": "Recorridos, inscripciones y puntuación (lectura).",
          "en": "Journeys, enrollments and scoring (read only)."
        },
        "levels": [
          "read",
          "admin"
        ],
        "scopes": [
          {
            "scope": "journeys:read",
            "area": "journeys",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Recorridos: leer",
              "en": "Journeys: read"
            }
          },
          {
            "scope": "journeys:admin",
            "area": "journeys",
            "level": "admin",
            "role": "admin",
            "sensitive": true,
            "name": {
              "es": "Recorridos: acciones de administrador",
              "en": "Journeys: administrator actions"
            }
          },
          {
            "scope": "automations:enroll",
            "area": "journeys",
            "level": null,
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Inscribir en recorridos",
              "en": "Enroll in journeys"
            }
          }
        ],
        "feature": null,
        "partialFeatures": [
          "marketing.api"
        ]
      },
      {
        "key": "segments",
        "name": {
          "es": "Segmentos",
          "en": "Segments"
        },
        "description": {
          "es": "Segmentos y vista previa (solo recuentos).",
          "en": "Segments and preview (counts only)."
        },
        "levels": [
          "read"
        ],
        "scopes": [
          {
            "scope": "segments:read",
            "area": "segments",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Segmentos: leer",
              "en": "Segments: read"
            }
          }
        ],
        "feature": null,
        "partialFeatures": [
          "marketing.behavior"
        ]
      },
      {
        "key": "forms",
        "name": {
          "es": "Formularios y páginas",
          "en": "Forms and pages"
        },
        "description": {
          "es": "Formularios y páginas; colocaciones.",
          "en": "Forms and pages; placements."
        },
        "levels": [
          "read",
          "admin"
        ],
        "scopes": [
          {
            "scope": "forms:read",
            "area": "forms",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Formularios y páginas: leer",
              "en": "Forms and pages: read"
            }
          },
          {
            "scope": "forms:admin",
            "area": "forms",
            "level": "admin",
            "role": "admin",
            "sensitive": true,
            "name": {
              "es": "Formularios y páginas: acciones de administrador",
              "en": "Forms and pages: administrator actions"
            }
          }
        ],
        "feature": null,
        "partialFeatures": [
          "marketing.pages"
        ]
      },
      {
        "key": "sites",
        "name": {
          "es": "Sitios web",
          "en": "Websites"
        },
        "description": {
          "es": "Sitios verificados; dominios propios.",
          "en": "Verified websites; custom domains."
        },
        "levels": [
          "read",
          "admin"
        ],
        "scopes": [
          {
            "scope": "sites:read",
            "area": "sites",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Sitios web: leer",
              "en": "Websites: read"
            }
          },
          {
            "scope": "sites:admin",
            "area": "sites",
            "level": "admin",
            "role": "admin",
            "sensitive": true,
            "name": {
              "es": "Sitios web: acciones de administrador",
              "en": "Websites: administrator actions"
            }
          }
        ],
        "feature": null,
        "partialFeatures": [
          "marketing.custom_domains"
        ]
      },
      {
        "key": "conversions",
        "name": {
          "es": "Conversiones y atribución",
          "en": "Conversions and attribution"
        },
        "description": {
          "es": "Conversiones y su conciliación.",
          "en": "Conversions and their reconciliation."
        },
        "levels": [
          "read",
          "admin"
        ],
        "scopes": [
          {
            "scope": "conversions:read",
            "area": "conversions",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Conversiones y atribución: leer",
              "en": "Conversions and attribution: read"
            }
          },
          {
            "scope": "conversions:admin",
            "area": "conversions",
            "level": "admin",
            "role": "admin",
            "sensitive": true,
            "name": {
              "es": "Conversiones y atribución: acciones de administrador",
              "en": "Conversions and attribution: administrator actions"
            }
          }
        ],
        "feature": "marketing.tracking",
        "partialFeatures": []
      },
      {
        "key": "knowledge",
        "name": {
          "es": "Conocimiento",
          "en": "Knowledge"
        },
        "description": {
          "es": "Documentos y fuentes de conocimiento.",
          "en": "Knowledge documents and sources."
        },
        "levels": [
          "read",
          "admin"
        ],
        "scopes": [
          {
            "scope": "knowledge:read",
            "area": "knowledge",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Conocimiento: leer",
              "en": "Knowledge: read"
            }
          },
          {
            "scope": "knowledge:admin",
            "area": "knowledge",
            "level": "admin",
            "role": "admin",
            "sensitive": true,
            "name": {
              "es": "Conocimiento: acciones de administrador",
              "en": "Knowledge: administrator actions"
            }
          }
        ],
        "feature": null,
        "partialFeatures": []
      },
      {
        "key": "channels",
        "name": {
          "es": "Canales y conexiones",
          "en": "Channels and connections"
        },
        "description": {
          "es": "Estado de canales, conexiones y dominios de correo.",
          "en": "Status of channels, connections and mail domains."
        },
        "levels": [
          "read",
          "admin"
        ],
        "scopes": [
          {
            "scope": "channels:read",
            "area": "channels",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Canales y conexiones: leer",
              "en": "Channels and connections: read"
            }
          },
          {
            "scope": "channels:admin",
            "area": "channels",
            "level": "admin",
            "role": "admin",
            "sensitive": true,
            "name": {
              "es": "Canales y conexiones: acciones de administrador",
              "en": "Channels and connections: administrator actions"
            }
          }
        ],
        "feature": null,
        "partialFeatures": []
      },
      {
        "key": "reports",
        "name": {
          "es": "Informes",
          "en": "Reports"
        },
        "description": {
          "es": "Informes (solo lectura); cada informe exige además su función.",
          "en": "Reports (read only); each report also needs its own feature."
        },
        "levels": [
          "read"
        ],
        "scopes": [
          {
            "scope": "reports:read",
            "area": "reports",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Informes: leer",
              "en": "Reports: read"
            }
          }
        ],
        "feature": null,
        "partialFeatures": [
          "crm.pipeline_insights",
          "crm.sequences",
          "support.csat_auto",
          "marketing.tracking"
        ]
      },
      {
        "key": "team",
        "name": {
          "es": "Equipo",
          "en": "Team"
        },
        "description": {
          "es": "Miembros (id, nombre y rol) y, aparte, su email.",
          "en": "Members (ID, name and role) and, separately, their email."
        },
        "levels": [
          "read"
        ],
        "scopes": [
          {
            "scope": "team:read",
            "area": "team",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Equipo: leer",
              "en": "Team: read"
            }
          },
          {
            "scope": "team:emails",
            "area": "team",
            "level": null,
            "role": "viewer",
            "sensitive": true,
            "name": {
              "es": "Ver el email de los miembros",
              "en": "See the members' email"
            }
          }
        ],
        "feature": null,
        "partialFeatures": []
      },
      {
        "key": "webhooks",
        "name": {
          "es": "Webhooks de tareas",
          "en": "Task webhooks"
        },
        "description": {
          "es": "Webhooks de tareas de la propia fuente y reintento de webhooks fallidos.",
          "en": "Task webhooks of the source itself and retry of failed webhooks."
        },
        "levels": [],
        "scopes": [
          {
            "scope": "webhooks:manage",
            "area": "webhooks",
            "level": null,
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Gestionar webhooks de tareas",
              "en": "Manage task webhooks"
            }
          }
        ],
        "feature": null,
        "partialFeatures": []
      },
      {
        "key": "automation",
        "name": {
          "es": "Flujos de automatización",
          "en": "Automation flows"
        },
        "description": {
          "es": "Flujos (estado, disparador y versión en uso, sin su configuración) y sus ejecuciones; aparte, iniciar los flujos con disparador «Por la API».",
          "en": "Flows (status, trigger and version in use, without their configuration) and their runs; separately, starting the flows with the “Through the API” trigger."
        },
        "levels": [
          "read"
        ],
        "scopes": [
          {
            "scope": "automation:read",
            "area": "automation",
            "level": "read",
            "role": "viewer",
            "sensitive": false,
            "name": {
              "es": "Flujos de automatización: leer",
              "en": "Automation flows: read"
            }
          },
          {
            "scope": "automation:enroll",
            "area": "automation",
            "level": null,
            "role": "agent",
            "sensitive": false,
            "name": {
              "es": "Iniciar flujos por la API",
              "en": "Start flows through the API"
            }
          }
        ],
        "feature": "automation.flows",
        "partialFeatures": []
      }
    ],
    "specialScopes": [
      {
        "scope": "act_as",
        "area": null,
        "level": null,
        "role": null,
        "sensitive": true,
        "name": {
          "es": "Actuar como un usuario autorizado",
          "en": "Act as an authorized user"
        }
      }
    ],
    "sensitiveScopes": [
      "duplicates:admin",
      "support:admin",
      "support:content",
      "csat:admin",
      "voice:admin",
      "voice:content",
      "campaigns:admin",
      "journeys:admin",
      "forms:admin",
      "sites:admin",
      "conversions:admin",
      "knowledge:admin",
      "channels:admin",
      "team:emails",
      "act_as"
    ],
    "packages": [
      {
        "key": "read",
        "name": {
          "es": "Lectura de tareas",
          "en": "Task reading"
        },
        "description": {
          "es": "Leer tareas y recursos de las áreas con la función activa, y los miembros del equipo.",
          "en": "Read tasks and resources of the areas whose feature is on, and the team members."
        },
        "scopes": [
          "contacts:read",
          "companies:read",
          "deals:read",
          "activities:read",
          "sequences:read",
          "playbooks:read",
          "duplicates:read",
          "support:read",
          "csat:read",
          "voice:read",
          "calendar:read",
          "campaigns:read",
          "journeys:read",
          "segments:read",
          "forms:read",
          "sites:read",
          "conversions:read",
          "knowledge:read",
          "channels:read",
          "reports:read",
          "team:read",
          "automation:read"
        ]
      },
      {
        "key": "manage",
        "name": {
          "es": "Gestión de tareas",
          "en": "Task management"
        },
        "description": {
          "es": "Lo anterior más editar y ejecutar actividades, oportunidades, soporte y guiones, ejecutar CSAT, voz y calendario y actuar como un usuario autorizado.",
          "en": "The above plus editing and running activities, deals, support and playbooks, running CSAT, voice and calendar actions and acting as an authorized user."
        },
        "scopes": [
          "contacts:read",
          "companies:read",
          "deals:read",
          "deals:write",
          "deals:execute",
          "activities:read",
          "activities:write",
          "activities:execute",
          "sequences:read",
          "playbooks:read",
          "playbooks:write",
          "playbooks:execute",
          "duplicates:read",
          "support:read",
          "support:write",
          "support:execute",
          "csat:read",
          "csat:execute",
          "voice:read",
          "voice:execute",
          "calendar:read",
          "calendar:execute",
          "campaigns:read",
          "journeys:read",
          "segments:read",
          "forms:read",
          "sites:read",
          "conversions:read",
          "knowledge:read",
          "channels:read",
          "reports:read",
          "team:read",
          "automation:read",
          "act_as"
        ]
      },
      {
        "key": "full",
        "name": {
          "es": "Operación completa",
          "en": "Full operation"
        },
        "description": {
          "es": "Lo anterior más las acciones de administrador de las áreas activas y la gestión de webhooks de tareas.",
          "en": "The above plus the administrator actions of the active areas and task webhook management."
        },
        "scopes": [
          "contacts:read",
          "companies:read",
          "deals:read",
          "deals:write",
          "deals:execute",
          "activities:read",
          "activities:write",
          "activities:execute",
          "sequences:read",
          "playbooks:read",
          "playbooks:write",
          "playbooks:execute",
          "duplicates:read",
          "duplicates:admin",
          "support:read",
          "support:write",
          "support:execute",
          "support:admin",
          "csat:read",
          "csat:execute",
          "csat:admin",
          "voice:read",
          "voice:execute",
          "voice:admin",
          "calendar:read",
          "calendar:execute",
          "campaigns:read",
          "campaigns:admin",
          "journeys:read",
          "journeys:admin",
          "segments:read",
          "forms:read",
          "forms:admin",
          "sites:read",
          "sites:admin",
          "conversions:read",
          "conversions:admin",
          "knowledge:read",
          "knowledge:admin",
          "channels:read",
          "channels:admin",
          "reports:read",
          "team:read",
          "webhooks:manage",
          "automation:read",
          "act_as"
        ]
      },
      {
        "key": "custom",
        "name": {
          "es": "Personalizado",
          "en": "Custom"
        },
        "description": {
          "es": "Selección libre por área y nivel.",
          "en": "Free choice by area and level."
        },
        "scopes": []
      }
    ],
    "packagesResolvedWith": "every feature on"
  }
}
