Preferencias de privacidad

Funciones necesarias

Necesarias para la seguridad y las funciones básicas del sitio.

Siempre activas

Diagnósticos de Landing y grabación con contenido oculto

Mide las visitas públicas, el abandono y las interacciones con enlaces de registro mediante un ID anónimo exclusivo de esta pestaña, sin vincular cuentas. Se oculta todo el texto y se bloquean los formularios.

Analítica opcional de uso

¿Permitir analítica de uso de PostHog? Puedes cambiar tu elección en el pie de página cuando quieras.

Permitir también la grabación de sesiones en este sitio web público

La grabación de sesiones en el modo opcional entre sitios muestra las páginas públicas y las interacciones, con los datos introducidos y el contenido privado ocultos. La grabación de sesiones en la aplicación es una opción independiente.

Requiere analítica opcional; la grabación en este modo entre sitios está desactivada por defecto. El modo Landing de arriba funciona por separado.

Los análisis del navegador no activan los de la cuenta.

La búsqueda solo se carga cuando la usas. Explora todas las categorías a continuación.

Research e informes con citas

Cancelar la recuperación de una fuente pública en redes sociales

Cancelar la recuperación exacta de redes sociales mediante mutation_id; el contenido tardío no puede guardarse. El texto de origen devuelto no es fiable. Requiere agent:research.

POST /research-api/evidence/social-cancel

Contrato revisado: · sha256:dadbfeb34d10743d

Descripción general

Cancelar la recuperación exacta de redes sociales mediante mutation_id; el contenido tardío no puede guardarse. El texto de origen devuelto no es fiable. Requiere agent:research.

Una respuesta HTTP exitosa puede indicar aceptación, no finalización. Para trabajo en segundo plano, guarda el ID devuelto y consulta la misma operación hasta que termine. Una publicación programada o aceptada solo está publicada cuando la plataforma lo confirma; un tiempo de espera agotado en el cliente no determina el resultado.

Autenticación y permisos

Clases de credenciales aceptadas
user_session, delegated_oauth, personal_access_token
Capacidad delegada
agent:research
Rol mínimo del espacio de trabajo
editor
Alcance del acceso
Recursos a los que este usuario está autorizado a acceder
Se requiere consentimiento para todos los espacios de trabajo
No
Cambia el estado
Sí
Cuando la operación se completa
committed cancellation fence; late social reader output is discarded

Un token solo puede usar los derechos de su propietario. Cada solicitud comprueba pertenencia al espacio, propiedad del recurso, espacios elegidos y capacidades concedidas. Los perfiles core y full cambian qué herramientas se muestran; no conceden acceso.

Campos de solicitud

Obligatorio significa obligatorio dentro del objeto principal y la rama elegida. Un campo secundario obligatorio no convierte en obligatorio un objeto principal opcional. Las reglas y nombres de campos siguientes se copian del contrato.

Campos de solicitud
Campo / ramaTipo / obligatorioRestricciones
$objectObligatorio en el objeto principal
  • additionalProperties: false
workspace_idstringObligatorio en el objeto principal
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
mutation_idstringObligatorio en el objeto principal
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
JSON Schema completo
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "mutation_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "workspace_id",
    "mutation_id"
  ],
  "additionalProperties": false
}

Respuesta y finalización

Estados HTTP de éxito: 200. Cuando la operación se completa: committed cancellation fence; late social reader output is discarded.

Una respuesta HTTP exitosa puede indicar aceptación, no finalización. Para trabajo en segundo plano, guarda el ID devuelto y consulta la misma operación hasta que termine. Una publicación programada o aceptada solo está publicada cuando la plataforma lo confirma; un tiempo de espera agotado en el cliente no determina el resultado.

Obligatorio significa obligatorio dentro del objeto principal y la rama elegida. Un campo secundario obligatorio no convierte en obligatorio un objeto principal opcional. Las reglas y nombres de campos siguientes se copian del contrato.

Respuesta y finalización
Campo / ramaTipo / obligatorioRestricciones
$objectObligatorio en el objeto principal—
retrievalobjectObligatorio en el objeto principal—
retrieval.idstringObligatorio en el objeto principal
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
retrieval.workspace_idstringObligatorio en el objeto principal
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
retrieval.mutation_idstringObligatorio en el objeto principal
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
retrieval.kindstringObligatorio en el objeto principal
  • const: "public_social"
retrieval.statestringObligatorio en el objeto principal
  • enum: ["pending","running","completed","cancelled","unconfirmed","expired"]
retrieval.created_atstringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
retrieval.settled_atstring | nullObligatorio en el objeto principal—
retrieval.settled_atanyOf 1stringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
retrieval.settled_atanyOf 2nullObligatorio en el objeto principal—
retrieval.valid_untilstringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
retrieval.resultobject | nullObligatorio en el objeto principal—
retrieval.resultanyOf 1objectObligatorio en el objeto principal—
retrieval.result.sourceanyOf 1stringObligatorio en el objeto principal
  • enum: ["facebook_public_web","instagram_public_web","threads_public_web"]
retrieval.result.platformanyOf 1stringObligatorio en el objeto principal
  • enum: ["facebook","instagram","threads"]
retrieval.result.canonical_urlanyOf 1stringObligatorio en el objeto principal
  • format: "uri"
  • maxLength: 2048
retrieval.result.fetched_atanyOf 1stringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
retrieval.result.expires_atanyOf 1stringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
retrieval.result.upstream_updated_atanyOf 1nullObligatorio en el objeto principal—
retrieval.result.statusanyOf 1stringObligatorio en el objeto principal
  • enum: ["available","partial","unavailable"]
retrieval.result.profileanyOf 1object | nullObligatorio en el objeto principal—
retrieval.result.profileanyOf 1 / anyOf 1objectObligatorio en el objeto principal—
retrieval.result.profile.source_account_idanyOf 1 / anyOf 1stringObligatorio en el objeto principal
  • pattern: "^[0-9]{1,30}$"
retrieval.result.profile.id_namespaceanyOf 1 / anyOf 1stringObligatorio en el objeto principal
  • const: "public_web"
retrieval.result.profile.usernameanyOf 1 / anyOf 1stringObligatorio en el objeto principal
  • minLength: 1
  • maxLength: 50
retrieval.result.profile.nameanyOf 1 / anyOf 1string | nullObligatorio en el objeto principal—
retrieval.result.profile.nameanyOf 1 / anyOf 1 / anyOf 1stringObligatorio en el objeto principal
  • minLength: 1
  • maxLength: 200
retrieval.result.profile.nameanyOf 1 / anyOf 1 / anyOf 2nullObligatorio en el objeto principal—
retrieval.result.profile.followersanyOf 1 / anyOf 1integer | nullObligatorio en el objeto principal—
retrieval.result.profile.followersanyOf 1 / anyOf 1 / anyOf 1integerObligatorio en el objeto principal
  • minimum: 0
  • maximum: 9007199254740991
retrieval.result.profile.followersanyOf 1 / anyOf 1 / anyOf 2nullObligatorio en el objeto principal—
retrieval.result.profileanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
retrieval.result.postsanyOf 1arrayObligatorio en el objeto principal
  • maxItems: 20
retrieval.result.posts[]anyOf 1objectOpcional / elemento—
retrieval.result.posts[].source_post_idanyOf 1stringObligatorio en el objeto principal
  • pattern: "^[0-9]{1,30}$"
retrieval.result.posts[].id_namespaceanyOf 1stringObligatorio en el objeto principal
  • const: "public_web"
retrieval.result.posts[].shortcodeanyOf 1string | nullObligatorio en el objeto principal—
retrieval.result.posts[].shortcodeanyOf 1 / anyOf 1stringObligatorio en el objeto principal
  • minLength: 1
  • maxLength: 64
retrieval.result.posts[].shortcodeanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
retrieval.result.posts[].source_account_idanyOf 1stringObligatorio en el objeto principal
  • pattern: "^[0-9]{1,30}$"
retrieval.result.posts[].authoranyOf 1stringObligatorio en el objeto principal
  • minLength: 1
  • maxLength: 50
retrieval.result.posts[].canonical_urlanyOf 1stringObligatorio en el objeto principal
  • format: "uri"
  • maxLength: 2048
retrieval.result.posts[].textanyOf 1stringObligatorio en el objeto principal
  • maxLength: 30000
retrieval.result.posts[].published_atanyOf 1string | nullObligatorio en el objeto principal—
retrieval.result.posts[].published_atanyOf 1 / anyOf 1stringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
retrieval.result.posts[].published_atanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
retrieval.result.posts[].media_kindanyOf 1stringObligatorio en el objeto principal
  • enum: ["text","image","video","carousel","unknown"]
retrieval.result.posts[].metricsanyOf 1objectObligatorio en el objeto principal—
retrieval.result.posts[].metrics.likesanyOf 1integer | nullObligatorio en el objeto principal—
retrieval.result.posts[].metrics.likesanyOf 1 / anyOf 1integerObligatorio en el objeto principal
  • minimum: 0
  • maximum: 9007199254740991
retrieval.result.posts[].metrics.likesanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
retrieval.result.posts[].metrics.commentsanyOf 1integer | nullObligatorio en el objeto principal—
retrieval.result.posts[].metrics.commentsanyOf 1 / anyOf 1integerObligatorio en el objeto principal
  • minimum: 0
  • maximum: 9007199254740991
retrieval.result.posts[].metrics.commentsanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
retrieval.result.posts[].metrics.reactionsanyOf 1integer | nullObligatorio en el objeto principal—
retrieval.result.posts[].metrics.reactionsanyOf 1 / anyOf 1integerObligatorio en el objeto principal
  • minimum: 0
  • maximum: 9007199254740991
retrieval.result.posts[].metrics.reactionsanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
retrieval.result.posts[].metrics.sharesanyOf 1integer | nullObligatorio en el objeto principal—
retrieval.result.posts[].metrics.sharesanyOf 1 / anyOf 1integerObligatorio en el objeto principal
  • minimum: 0
  • maximum: 9007199254740991
retrieval.result.posts[].metrics.sharesanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
retrieval.result.posts[].metrics.viewsanyOf 1integer | nullObligatorio en el objeto principal—
retrieval.result.posts[].metrics.viewsanyOf 1 / anyOf 1integerObligatorio en el objeto principal
  • minimum: 0
  • maximum: 9007199254740991
retrieval.result.posts[].metrics.viewsanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
retrieval.result.coverageanyOf 1objectObligatorio en el objeto principal—
retrieval.result.coverage.completeanyOf 1booleanObligatorio en el objeto principal
  • const: false
retrieval.result.coverage.reasonsanyOf 1arrayObligatorio en el objeto principal
  • maxItems: 20
retrieval.result.coverage.reasons[]anyOf 1stringOpcional / elemento
  • enum: ["initial_page_only","public_web_ids","metrics_unavailable","profile_only","no_attributable_posts","foreign_or_malformed_rows","parser_limit","unsupported_payload","blocked","rate_limited","upstream_http_error","redirect_rejected","unsupported_content_type","response_too_large","timeout","aborted","network_error","inconsistent_identity","research_limit","source_removed"]
retrieval.result.coverage.omitted_rowsanyOf 1integerObligatorio en el objeto principal
  • minimum: 0
  • maximum: 9007199254740991
retrieval.result.coverage.next_cursoranyOf 1nullObligatorio en el objeto principal—
retrieval.resultanyOf 2nullObligatorio en el objeto principal—
retrieval.evidencearrayObligatorio en el objeto principal
  • maxItems: 20
retrieval.evidence[]objectOpcional / elemento—
retrieval.evidence[].evidence_idstringObligatorio en el objeto principal
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
retrieval.evidence[].revisionintegerObligatorio en el objeto principal
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
JSON Schema completo
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "retrieval": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "mutation_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "kind": {
          "type": "string",
          "const": "public_social"
        },
        "state": {
          "type": "string",
          "enum": [
            "pending",
            "running",
            "completed",
            "cancelled",
            "unconfirmed",
            "expired"
          ]
        },
        "created_at": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        },
        "settled_at": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "valid_until": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        },
        "result": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "source": {
                  "type": "string",
                  "enum": [
                    "facebook_public_web",
                    "instagram_public_web",
                    "threads_public_web"
                  ]
                },
                "platform": {
                  "type": "string",
                  "enum": [
                    "facebook",
                    "instagram",
                    "threads"
                  ]
                },
                "canonical_url": {
                  "type": "string",
                  "maxLength": 2048,
                  "format": "uri"
                },
                "fetched_at": {
                  "type": "string",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                  "format": "date-time"
                },
                "expires_at": {
                  "type": "string",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                  "format": "date-time"
                },
                "upstream_updated_at": {
                  "type": "null"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "available",
                    "partial",
                    "unavailable"
                  ]
                },
                "profile": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "source_account_id": {
                          "type": "string",
                          "pattern": "^[0-9]{1,30}$"
                        },
                        "id_namespace": {
                          "type": "string",
                          "const": "public_web"
                        },
                        "username": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 50
                        },
                        "name": {
                          "anyOf": [
                            {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 200
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "followers": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 9007199254740991
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "source_account_id",
                        "id_namespace",
                        "username",
                        "name",
                        "followers"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "posts": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "source_post_id": {
                        "type": "string",
                        "pattern": "^[0-9]{1,30}$"
                      },
                      "id_namespace": {
                        "type": "string",
                        "const": "public_web"
                      },
                      "shortcode": {
                        "anyOf": [
                          {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "source_account_id": {
                        "type": "string",
                        "pattern": "^[0-9]{1,30}$"
                      },
                      "author": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 50
                      },
                      "canonical_url": {
                        "type": "string",
                        "maxLength": 2048,
                        "format": "uri"
                      },
                      "text": {
                        "type": "string",
                        "maxLength": 30000
                      },
                      "published_at": {
                        "anyOf": [
                          {
                            "type": "string",
                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "media_kind": {
                        "type": "string",
                        "enum": [
                          "text",
                          "image",
                          "video",
                          "carousel",
                          "unknown"
                        ]
                      },
                      "metrics": {
                        "type": "object",
                        "properties": {
                          "likes": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 9007199254740991
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "comments": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 9007199254740991
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "reactions": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 9007199254740991
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "shares": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 9007199254740991
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "views": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 9007199254740991
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "likes",
                          "comments",
                          "reactions",
                          "shares",
                          "views"
                        ]
                      }
                    },
                    "required": [
                      "source_post_id",
                      "id_namespace",
                      "shortcode",
                      "source_account_id",
                      "author",
                      "canonical_url",
                      "text",
                      "published_at",
                      "media_kind",
                      "metrics"
                    ]
                  }
                },
                "coverage": {
                  "type": "object",
                  "properties": {
                    "complete": {
                      "type": "boolean",
                      "const": false
                    },
                    "reasons": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "initial_page_only",
                          "public_web_ids",
                          "metrics_unavailable",
                          "profile_only",
                          "no_attributable_posts",
                          "foreign_or_malformed_rows",
                          "parser_limit",
                          "unsupported_payload",
                          "blocked",
                          "rate_limited",
                          "upstream_http_error",
                          "redirect_rejected",
                          "unsupported_content_type",
                          "response_too_large",
                          "timeout",
                          "aborted",
                          "network_error",
                          "inconsistent_identity",
                          "research_limit",
                          "source_removed"
                        ]
                      }
                    },
                    "omitted_rows": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    "next_cursor": {
                      "type": "null"
                    }
                  },
                  "required": [
                    "complete",
                    "reasons",
                    "omitted_rows",
                    "next_cursor"
                  ]
                }
              },
              "required": [
                "source",
                "platform",
                "canonical_url",
                "fetched_at",
                "expires_at",
                "upstream_updated_at",
                "status",
                "profile",
                "posts",
                "coverage"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "evidence": {
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "evidence_id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "revision": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "evidence_id",
              "revision"
            ]
          }
        }
      },
      "required": [
        "id",
        "workspace_id",
        "mutation_id",
        "kind",
        "state",
        "created_at",
        "settled_at",
        "valid_until",
        "result",
        "evidence"
      ]
    }
  },
  "required": [
    "retrieval"
  ]
}

Errores y reintentos seguros

Comprueba el estado HTTP y el cuerpo de respuesta. Un error de validación 400 puede contener un ZodError; los errores del controlador usan los campos error, message y code. Conserva request_id o x-request-id para el diagnóstico, sin credenciales. Corrige los errores de acceso 401/403 antes de reintentar y respeta Retry-After para 429. Si una escritura es incierta o devuelve 5xx, consulta primero el resultado existente. Reutiliza una clave de idempotencia solo donde se admita; el comportamiento de reintento varía por operación y no garantiza una entrega exactamente una vez.

Guía de solución de problemas

Ejemplos

Estos ejemplos usan valores ficticios comprobados con los esquemas. Sustituye los IDs por otros autorizados, los archivos multimedia por recursos listos y las fechas por tu hora de publicación confirmada. Comprueba la elegibilidad de la cuenta antes de enviar una escritura. Esta página no envía solicitudes API.

Establece SOSOAPI_ACCESS_TOKEN en tu servidor con una credencial aceptada por esta operación y mantenla fuera del código del navegador. Para un agente de IA, usa sosoapi auth login para iniciar sesión en el navegador y deja a la CLI renovar sus credenciales.

request.json

{
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "mutation_id": "40000000-0000-4000-8000-000000000005"
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/research-api/evidence/social-cancel" \
  -H "Authorization: Bearer $SOSOAPI_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @request.json

JavaScript

// Server-side JavaScript. Do not print tokens or credential-bearing responses.
const token = process.env.SOSOAPI_ACCESS_TOKEN;
if (!token) throw new Error("Set an accepted credential for this operation");
const response = await fetch("https://gqeshlawtcexsapabaui.supabase.co/functions/v1/research-api/evidence/social-cancel", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "mutation_id": "40000000-0000-4000-8000-000000000005"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

# This operation requires a CLI build containing the updated Research contract.
# Use HTTP or hosted MCP if your CLI build does not include it.
# 此操作需要包含更新版 Research contract 的 CLI build。
# 如 CLI build 未包含此 contract,請使用 HTTP 或 hosted MCP。
npx sosoapi api post /research-api/evidence/social-cancel < request.json

Ejemplo de respuesta sintética

{
  "retrieval": {
    "id": "30000000-0000-4000-8000-000000000007",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "mutation_id": "40000000-0000-4000-8000-000000000005",
    "kind": "public_social",
    "state": "cancelled",
    "created_at": "2099-01-15T09:00:00Z",
    "settled_at": "2099-01-15T09:00:01Z",
    "valid_until": "2099-01-16T09:00:00Z",
    "evidence": [],
    "result": null
  }
}

MCP: sosoapi_research_evidence_social-cancel