[{"data":1,"prerenderedAt":480},["ShallowReactive",2],{"developers:\u002Fdevelopers\u002Fes\u002Fsecurity":3},{"doc":4,"lang":313,"nav":324,"alternatePath":424,"policy":425,"specVersion":469,"reference":7,"layout":470,"toc":471,"prev":477,"next":478,"operations":479,"overview":7,"heroExample":7},{"id":5,"title":6,"apiTag":7,"body":8,"description":310,"draft":311,"extension":312,"lang":313,"meta":314,"navTitle":7,"navigation":315,"order":316,"path":317,"rawbody":318,"section":319,"seo":320,"stem":321,"translationKey":322,"version":7,"__hash__":323},"developers_es\u002Fdevelopers\u002Fes\u002Fsecurity.md","Seguridad y datos personales",null,{"type":9,"value":10,"toc":300},"minimark",[11,21,26,109,113,127,138,144,148,210,214,217,279,283],[12,13,14,15,20],"p",{},"Esta página es para quien revisa la seguridad de una integración, del lado del cliente o del tuyo. Resume cómo protege Totem las claves y los datos, y qué hacer con los datos personales que copias. En ",[16,17,19],"a",{"href":18},"\u002Fdevelopers\u002Fes\u002Fauthentication","Autenticación"," se detalla cada control.",[22,23,25],"h2",{"id":24},"claves","Claves",[27,28,29,42,48,59,69,81,87,98],"ul",{},[30,31,32,36,37,41],"li",{},[33,34,35],"strong",{},"Una clave es un secreto aleatorio largo."," Empieza por ",[38,39,40],"code",{},"tsk_live_",", sigue con un identificador de búsqueda y después con unos 256 bits de secreto aleatorio y una suma de control. La suma de control permite a Totem rechazar una clave mal copiada antes de buscarla.",[30,43,44,47],{},[33,45,46],{},"Totem nunca guarda la clave."," Conserva un resumen irreversible del secreto, calculado con HMAC-SHA-256 y otro secreto que se guarda fuera de la base de datos de Totem, así que una copia de la base de datos no basta para usar una clave. Totem muestra la clave una sola vez, al crearla, y sus registros identifican una clave por su identificador de búsqueda, nunca por su secreto.",[30,49,50,53,54,58],{},[33,51,52],{},"Las claves no caducan."," Una clave funciona hasta que la rotas o la revocas. Rota las claves con la periodicidad que te convenga, por ejemplo cada 90 días, y siempre que se vaya alguien que tenía acceso; en ",[16,55,57],{"href":56},"\u002Fdevelopers\u002Fes\u002Ftesting#ensaya-la-rotaci%C3%B3n-de-una-clave","Pruebas y puesta en producción"," se explica cómo ensayarlo.",[30,60,61,64,65,68],{},[33,62,63],{},"Las claves solo se gestionan en Ajustes."," Las claves se crean, se rotan y se revocan en ",[33,66,67],{},"Ajustes → Desarrolladores",", nunca a través de la API. Crear o rotar una clave, añadir un equipo y cambiar la lista de IP permitidas piden al administrador que vuelva a iniciar sesión si no lo ha hecho hace poco, y se avisa de cada cambio a los administradores que gestionan la integración y a los de cada equipo que cubre, en Totem y por correo electrónico.",[30,70,71,74,75,80],{},[33,72,73],{},"Revocar es rápido."," Una clave revocada deja de funcionar en un máximo de ",[76,77],"api-const",{"name":78,"divide":79},"KEY_CACHE_TTL_MS","1000"," segundos, y revocar nunca exige volver a iniciar sesión, así que puede hacerse al momento durante un incidente.",[30,82,83,86],{},[33,84,85],{},"El acceso es de solo lectura y por equipos."," Ninguna clave puede crear ni modificar nada en Totem. Una clave lee solo los equipos de su integración, con acceso de administrador a ellos, incluidos los canales y los registros marcados como privados, así que da a cada integración solo los equipos que necesita.",[30,88,89,92,93,97],{},[33,90,91],{},"Una clave puede atarse a tus servidores."," Una ",[16,94,96],{"href":95},"\u002Fdevelopers\u002Fes\u002Fauthentication#lista-de-ip-permitidas","lista de IP permitidas"," limita una clave a las direcciones IPv4 que indiques.",[30,99,100,103,104,108],{},[33,101,102],{},"Adivinar está limitado."," Los intentos fallidos repetidos bloquean durante un tiempo la dirección o la clave, como se explica en ",[16,105,107],{"href":106},"\u002Fdevelopers\u002Fes\u002Fauthentication#intentos-fallidos","Intentos fallidos",".",[22,110,112],{"id":111},"registros-de-actividad","Registros de actividad",[12,114,115,116,118,119,122,123,126],{},"Para cada clave, ",[33,117,67],{}," muestra el ",[33,120,121],{},"Último uso",": cuándo hizo la clave su última petición y la red ",[38,124,125],{},"\u002F24"," desde la que llegó. Puede ir hasta 10 minutos por detrás.",[12,128,129,130,133,134,137],{},"La ",[33,131,132],{},"Actividad reciente"," de cada integración muestra sus cambios más recientes, como su creación, cada rotación o revocación de una clave y cada cambio de sus equipos, de su lista de IP permitidas o de su nombre, con la fecha y quién lo hizo. Totem conserva cada una de estas entradas durante ",[76,135],{"name":136},"AUDIT_RETENTION_DAYS"," días.",[12,139,140,141,137],{},"Totem cuenta además las peticiones de cada clave por día y por endpoint, y conserva esas cuentas durante ",[76,142],{"name":143},"KEY_STATS_RETENTION_DAYS",[22,145,147],{"id":146},"dónde-funciona-la-api","Dónde funciona la API",[27,149,150,160,177,186,200],{},[30,151,152,155,156,159],{},[33,153,154],{},"Región."," La API funciona en Google Cloud, en la región ",[38,157,158],{},"europe-west1",", en Bélgica, y lee la base de datos de Totem, que se almacena en la Unión Europea.",[30,161,162,165,166,169,170,173,174,108],{},[33,163,164],{},"Cifrado en tránsito."," ",[38,167,168],{},"api.totemstudio.ai"," solo responde en el puerto 443, por HTTPS con TLS 1.2 o posterior. No hay ningún servicio en HTTP sin cifrar, así que una clave nunca viaja sin cifrar, y las respuestas de la propia API llevan ",[38,171,172],{},"Strict-Transport-Security"," y ",[38,175,176],{},"X-Content-Type-Options: nosniff",[30,178,179,182,183,108],{},[33,180,181],{},"Sin caché."," Delante de la API no hay ninguna CDN ni caché compartida, y cada respuesta de la propia API lleva ",[38,184,185],{},"Cache-Control: no-store",[30,187,188,191,192,195,196,199],{},[33,189,190],{},"Sin navegadores."," La API no envía cabeceras CORS y rechaza una clave secreta enviada con una cabecera ",[38,193,194],{},"Origin"," (",[38,197,198],{},"400 secret_key_in_browser","), así que una clave pegada en una página web falla al momento en lugar de funcionar sin que nadie lo note.",[30,201,202,205,206,108],{},[33,203,204],{},"Un cortafuegos delante."," Un cortafuegos filtra las peticiones antes de que lleguen a la API, como se describe en ",[16,207,209],{"href":208},"\u002Fdevelopers\u002Fes\u002Ferrors#formato-de-los-errores","Errores",[22,211,213],{"id":212},"datos-personales-que-recibes","Datos personales que recibes",[12,215,216],{},"La API devuelve datos personales: el nombre, el correo electrónico, el teléfono, la empresa y las etiquetas de los leads, de dónde vino cada lead (valores UTM y nombres de anuncios, campañas y formularios) y sus actividades, el nombre visible de los miembros del equipo y los metadatos de las llamadas, las conversaciones y las citas. Nunca devuelve el texto de los mensajes, las transcripciones de las llamadas ni las grabaciones. Una vez copias estos datos, protegerlos os corresponde a ti y al cliente al que pertenecen. Te recomendamos que:",[27,218,219,225,231,247,257,263,273],{},[30,220,221,224],{},[33,222,223],{},"Uses los datos solo para lo que pidió el cliente."," Si construyes la integración para un cliente de Totem, usa lo que devuelve solo para los fines de ese cliente.",[30,226,227,230],{},[33,228,229],{},"Protejas tu copia."," Guárdala cifrada, limita quién puede leerla y deja los registros fuera de los logs, los informes de errores y las solicitudes de soporte. Muestra identificadores, no registros enteros.",[30,232,233,236,237,241,242,246],{},[33,234,235],{},"Apliques las eliminaciones en cuanto lleguen."," Borra el registro de tu copia y de todos los sistemas a los que lo pasaste, y conserva solo su marca de eliminación. Se explica en ",[16,238,240],{"href":239},"\u002Fdevelopers\u002Fes\u002Fsync#eliminaciones","Eliminaciones",", y ",[16,243,245],{"href":244},"\u002Fdevelopers\u002Fes\u002Ffaq#c%C3%B3mo-respeto-las-solicitudes-de-supresi%C3%B3n","¿Cómo respeto las solicitudes de supresión?"," trata las supresiones.",[30,248,249,252,253,108],{},[33,250,251],{},"Apliques primero los permisos de contacto",", antes de que cualquiera de tus sistemas contacte con una persona, como se explica en ",[16,254,256],{"href":255},"\u002Fdevelopers\u002Fes\u002Fsync#primero-los-permisos-de-contacto","Primero, los permisos de contacto",[30,258,259,262],{},[33,260,261],{},"Devuelvas las bajas a Totem."," La API es de solo lectura, así que Totem no puede conocer una baja registrada en tus sistemas. Cuando una persona se dé de baja en ellos, asegúrate de que también quede registrada en el lead en Totem.",[30,264,265,268,269,108],{},[33,266,267],{},"Trates los campos de texto como datos no fiables",", como se explica en ",[16,270,272],{"href":271},"\u002Fdevelopers\u002Fes\u002Fconventions#los-campos-de-texto-no-son-de-fiar","Convenciones",[30,274,275,278],{},[33,276,277],{},"Borres lo que ya no recibes."," Cuando se revoca una integración o un equipo sale de ella, Totem ya no puede enviarte eliminaciones de esos datos: borra tu copia, salvo que el cliente te pida conservarla y tenga sus propios motivos para ello. Mientras el acceso está denegado, por ejemplo porque el plan del cliente ha dejado de incluir la API, tampoco llegan eliminaciones: si eso dura más de lo que permite tu política de conservación, borra tu copia.",[22,280,282],{"id":281},"informa-de-una-vulnerabilidad","Informa de una vulnerabilidad",[12,284,285,286,290,291,295,296,108],{},"Si encuentras un problema de seguridad en la API, en esta documentación o en el ",[16,287,289],{"href":288},"\u002Fdevelopers\u002Fes\u002Ftypescript","SDK de TypeScript",", escribe en privado a ",[16,292,294],{"href":293},"mailto:hello@totemstudio.ai","hello@totemstudio.ai",". Cuenta qué encontraste y cómo reproducirlo con datos ficticios, e incluye los identificadores de petición si los tienes. No incluyas nunca una clave real ni datos reales de clientes, y no lo publiques en una incidencia pública. Si se ha filtrado una de tus claves, sigue primero ",[16,297,299],{"href":298},"\u002Fdevelopers\u002Fes\u002Fsupport#si-se-filtra-una-clave","Si se filtra una clave",{"title":301,"searchDepth":302,"depth":302,"links":303},"",3,[304,306,307,308,309],{"id":24,"depth":305,"text":25},2,{"id":111,"depth":305,"text":112},{"id":146,"depth":305,"text":147},{"id":212,"depth":305,"text":213},{"id":281,"depth":305,"text":282},"Cómo protege Totem las claves de la API y los datos que sirve, qué registra de cada clave, dónde funciona la API y qué hacer con los datos personales que copias.",false,"md","es",{},true,"50","\u002Fdevelopers\u002Fes\u002Fsecurity","---\ntitle: Seguridad y datos personales\ndescription: Cómo protege Totem las claves de la API y los datos que sirve, qué registra de cada clave, dónde funciona la API y qué hacer con los datos personales que copias.\nsection: guides\norder: 50\ntranslationKey: security\nlang: es\ndraft: false\n---\n\nEsta página es para quien revisa la seguridad de una integración, del lado del cliente o del tuyo. Resume cómo protege Totem las claves y los datos, y qué hacer con los datos personales que copias. En [Autenticación](\u002Fdevelopers\u002Fes\u002Fauthentication) se detalla cada control.\n\n## Claves\n\n- **Una clave es un secreto aleatorio largo.** Empieza por `tsk_live_`, sigue con un identificador de búsqueda y después con unos 256 bits de secreto aleatorio y una suma de control. La suma de control permite a Totem rechazar una clave mal copiada antes de buscarla.\n- **Totem nunca guarda la clave.** Conserva un resumen irreversible del secreto, calculado con HMAC-SHA-256 y otro secreto que se guarda fuera de la base de datos de Totem, así que una copia de la base de datos no basta para usar una clave. Totem muestra la clave una sola vez, al crearla, y sus registros identifican una clave por su identificador de búsqueda, nunca por su secreto.\n- **Las claves no caducan.** Una clave funciona hasta que la rotas o la revocas. Rota las claves con la periodicidad que te convenga, por ejemplo cada 90 días, y siempre que se vaya alguien que tenía acceso; en [Pruebas y puesta en producción](\u002Fdevelopers\u002Fes\u002Ftesting#ensaya-la-rotación-de-una-clave) se explica cómo ensayarlo.\n- **Las claves solo se gestionan en Ajustes.** Las claves se crean, se rotan y se revocan en **Ajustes → Desarrolladores**, nunca a través de la API. Crear o rotar una clave, añadir un equipo y cambiar la lista de IP permitidas piden al administrador que vuelva a iniciar sesión si no lo ha hecho hace poco, y se avisa de cada cambio a los administradores que gestionan la integración y a los de cada equipo que cubre, en Totem y por correo electrónico.\n- **Revocar es rápido.** Una clave revocada deja de funcionar en un máximo de :api-const{name=\"KEY_CACHE_TTL_MS\" divide=\"1000\"} segundos, y revocar nunca exige volver a iniciar sesión, así que puede hacerse al momento durante un incidente.\n- **El acceso es de solo lectura y por equipos.** Ninguna clave puede crear ni modificar nada en Totem. Una clave lee solo los equipos de su integración, con acceso de administrador a ellos, incluidos los canales y los registros marcados como privados, así que da a cada integración solo los equipos que necesita.\n- **Una clave puede atarse a tus servidores.** Una [lista de IP permitidas](\u002Fdevelopers\u002Fes\u002Fauthentication#lista-de-ip-permitidas) limita una clave a las direcciones IPv4 que indiques.\n- **Adivinar está limitado.** Los intentos fallidos repetidos bloquean durante un tiempo la dirección o la clave, como se explica en [Intentos fallidos](\u002Fdevelopers\u002Fes\u002Fauthentication#intentos-fallidos).\n\n## Registros de actividad\n\nPara cada clave, **Ajustes → Desarrolladores** muestra el **Último uso**: cuándo hizo la clave su última petición y la red `\u002F24` desde la que llegó. Puede ir hasta 10 minutos por detrás.\n\nLa **Actividad reciente** de cada integración muestra sus cambios más recientes, como su creación, cada rotación o revocación de una clave y cada cambio de sus equipos, de su lista de IP permitidas o de su nombre, con la fecha y quién lo hizo. Totem conserva cada una de estas entradas durante :api-const{name=\"AUDIT_RETENTION_DAYS\"} días.\n\nTotem cuenta además las peticiones de cada clave por día y por endpoint, y conserva esas cuentas durante :api-const{name=\"KEY_STATS_RETENTION_DAYS\"} días.\n\n## Dónde funciona la API\n\n- **Región.** La API funciona en Google Cloud, en la región `europe-west1`, en Bélgica, y lee la base de datos de Totem, que se almacena en la Unión Europea.\n- **Cifrado en tránsito.** `api.totemstudio.ai` solo responde en el puerto 443, por HTTPS con TLS 1.2 o posterior. No hay ningún servicio en HTTP sin cifrar, así que una clave nunca viaja sin cifrar, y las respuestas de la propia API llevan `Strict-Transport-Security` y `X-Content-Type-Options: nosniff`.\n- **Sin caché.** Delante de la API no hay ninguna CDN ni caché compartida, y cada respuesta de la propia API lleva `Cache-Control: no-store`.\n- **Sin navegadores.** La API no envía cabeceras CORS y rechaza una clave secreta enviada con una cabecera `Origin` (`400 secret_key_in_browser`), así que una clave pegada en una página web falla al momento en lugar de funcionar sin que nadie lo note.\n- **Un cortafuegos delante.** Un cortafuegos filtra las peticiones antes de que lleguen a la API, como se describe en [Errores](\u002Fdevelopers\u002Fes\u002Ferrors#formato-de-los-errores).\n\n## Datos personales que recibes\n\nLa API devuelve datos personales: el nombre, el correo electrónico, el teléfono, la empresa y las etiquetas de los leads, de dónde vino cada lead (valores UTM y nombres de anuncios, campañas y formularios) y sus actividades, el nombre visible de los miembros del equipo y los metadatos de las llamadas, las conversaciones y las citas. Nunca devuelve el texto de los mensajes, las transcripciones de las llamadas ni las grabaciones. Una vez copias estos datos, protegerlos os corresponde a ti y al cliente al que pertenecen. Te recomendamos que:\n\n- **Uses los datos solo para lo que pidió el cliente.** Si construyes la integración para un cliente de Totem, usa lo que devuelve solo para los fines de ese cliente.\n- **Protejas tu copia.** Guárdala cifrada, limita quién puede leerla y deja los registros fuera de los logs, los informes de errores y las solicitudes de soporte. Muestra identificadores, no registros enteros.\n- **Apliques las eliminaciones en cuanto lleguen.** Borra el registro de tu copia y de todos los sistemas a los que lo pasaste, y conserva solo su marca de eliminación. Se explica en [Eliminaciones](\u002Fdevelopers\u002Fes\u002Fsync#eliminaciones), y [¿Cómo respeto las solicitudes de supresión?](\u002Fdevelopers\u002Fes\u002Ffaq#cómo-respeto-las-solicitudes-de-supresión) trata las supresiones.\n- **Apliques primero los permisos de contacto**, antes de que cualquiera de tus sistemas contacte con una persona, como se explica en [Primero, los permisos de contacto](\u002Fdevelopers\u002Fes\u002Fsync#primero-los-permisos-de-contacto).\n- **Devuelvas las bajas a Totem.** La API es de solo lectura, así que Totem no puede conocer una baja registrada en tus sistemas. Cuando una persona se dé de baja en ellos, asegúrate de que también quede registrada en el lead en Totem.\n- **Trates los campos de texto como datos no fiables**, como se explica en [Convenciones](\u002Fdevelopers\u002Fes\u002Fconventions#los-campos-de-texto-no-son-de-fiar).\n- **Borres lo que ya no recibes.** Cuando se revoca una integración o un equipo sale de ella, Totem ya no puede enviarte eliminaciones de esos datos: borra tu copia, salvo que el cliente te pida conservarla y tenga sus propios motivos para ello. Mientras el acceso está denegado, por ejemplo porque el plan del cliente ha dejado de incluir la API, tampoco llegan eliminaciones: si eso dura más de lo que permite tu política de conservación, borra tu copia.\n\n## Informa de una vulnerabilidad\n\nSi encuentras un problema de seguridad en la API, en esta documentación o en el [SDK de TypeScript](\u002Fdevelopers\u002Fes\u002Ftypescript), escribe en privado a hello@totemstudio.ai. Cuenta qué encontraste y cómo reproducirlo con datos ficticios, e incluye los identificadores de petición si los tienes. No incluyas nunca una clave real ni datos reales de clientes, y no lo publiques en una incidencia pública. Si se ha filtrado una de tus claves, sigue primero [Si se filtra una clave](\u002Fdevelopers\u002Fes\u002Fsupport#si-se-filtra-una-clave).\n","guides",{"title":6,"description":310},"developers\u002Fes\u002Fsecurity","security","OI0m4yEPPTrAZra95Cr4SDSoAFJHrhS3U8e_0zDrYQA",[325,338,358,405],{"section":326,"items":327},"start",[328,332,336],{"path":329,"title":330,"description":331},"\u002Fdevelopers\u002Fes","Introducción","Lee desde tus propios sistemas los leads, las llamadas, las conversaciones y las citas de tus equipos de Totem, y mantén una copia sincronizada.",{"path":333,"title":334,"description":335},"\u002Fdevelopers\u002Fes\u002Fquickstart","Inicio rápido","Haz tus primeras peticiones a la API de Totem en unos minutos. Comprueba tu clave, busca tu equipo, lista leads e inicia una sincronización.",{"path":18,"title":19,"description":337},"Las claves secretas y dónde pueden guardarse, la cabecera Totem-Team de las claves con varios equipos, la lista de IP permitidas y cómo rotar o revocar una clave.",{"section":319,"items":339},[340,342,346,350,354,357],{"path":288,"title":289,"description":341},"Usa el cliente oficial de TypeScript para leer tus datos de Totem, paginar listas y gestionar errores de la API desde tu servidor.",{"path":343,"title":344,"description":345},"\u002Fdevelopers\u002Fes\u002Fsync","Sincroniza una copia","Copia un equipo con el feed de cambios y mantén la copia al día. Aplica las páginas sin riesgos, recupérate de los errores y parte de un cliente de referencia que Totem prueba.",{"path":347,"title":348,"description":349},"\u002Fdevelopers\u002Fes\u002Fpagination","Listas y paginación","Cómo devuelven los endpoints de lista los registros página a página, cómo leer todas las páginas y qué orden y qué filtros admite una lista.",{"path":351,"title":352,"description":353},"\u002Fdevelopers\u002Fes\u002Fcoverage","Cobertura de los datos","Qué registra Totem, desde cuándo y cómo distinguir un valor vacío de un dato que nunca se registró.",{"path":355,"title":57,"description":356},"\u002Fdevelopers\u002Fes\u002Ftesting","Cómo construir y probar una integración con seguridad mientras la API no tiene entorno de pruebas, y qué comprobar antes de pasar a producción.",{"path":317,"title":6,"description":310},{"section":359,"items":360},"reference",[361,364,367,371,376,381,386,391,396,401],{"path":362,"title":272,"description":363},"\u002Fdevelopers\u002Fes\u002Fconventions","La notación de esta documentación y las reglas que siguen todas las respuestas: identificadores, fechas, valores vacíos, importes, enumeraciones, versiones, estabilidad, errores y textos no fiables.",{"path":365,"title":209,"description":366},"\u002Fdevelopers\u002Fes\u002Ferrors","El formato de los errores, cómo debe tratar tu integración cada tipo de error y todos los códigos de error, con cuándo ocurren y qué hacer.",{"path":368,"title":369,"description":370},"\u002Fdevelopers\u002Fes\u002Frate-limits","Límites de frecuencia y cuota","Cuánto puede leer una clave por minuto y por día, qué cuenta para cada límite, cómo reintentar tras un 429 y cuánto tarda una carga inicial.",{"path":372,"title":373,"description":374,"apiTag":375},"\u002Fdevelopers\u002Fes\u002Freference-account","Cuenta, equipos y miembros","Comprueba que una clave funciona y qué puede leer, lista sus equipos con su zona horaria, lista los miembros de cada equipo y comprueba que la API está funcionando.","account",{"path":377,"title":378,"description":379,"apiTag":380},"\u002Fdevelopers\u002Fes\u002Freference-leads","Leads, tableros y actividades","Lista, obtén y busca los leads y los clientes de un equipo, lee las actividades de cada lead y lista los tableros y las etapas por los que pasan.","leads",{"path":382,"title":383,"description":384,"apiTag":385},"\u002Fdevelopers\u002Fes\u002Freference-calls","Llamadas","Lista y obtén las llamadas de un equipo, con su dirección, su horario y un resultado normalizado. Sin grabaciones ni transcripciones.","calls",{"path":387,"title":388,"description":389,"apiTag":390},"\u002Fdevelopers\u002Fes\u002Freference-conversations","Conversaciones","Lista y obtén las conversaciones de un equipo en todos los canales, con su estado, la persona asignada, si una persona ha tomado el control y cuándo llegaron y salieron los últimos mensajes. Nunca el contenido de los mensajes.","conversations",{"path":392,"title":393,"description":394,"apiTag":395},"\u002Fdevelopers\u002Fes\u002Freference-bookings","Citas y servicios","Lista y obtén las citas de un equipo, y lista los servicios que pueden reservar sus clientes.","bookings",{"path":397,"title":398,"description":399,"apiTag":400},"\u002Fdevelopers\u002Fes\u002Freference-sync","Feed de cambios","Un único endpoint que copia un equipo y, después, devuelve cada cambio, página a página.","sync",{"path":402,"title":403,"description":404},"\u002Fdevelopers\u002Fes\u002Fobjects","Todos los objetos","Todos los objetos que devuelve la API, campo a campo, con un ejemplo de cada uno.",{"section":406,"items":407},"resources",[408,412,416,420],{"path":409,"title":410,"description":411},"\u002Fdevelopers\u002Fes\u002Fchangelog","Registro de cambios","Los cambios de la API de Totem, del más reciente al más antiguo, cada uno bajo la fecha en que se publicó.",{"path":413,"title":414,"description":415},"\u002Fdevelopers\u002Fes\u002Fsupport","Soporte","Cómo pedir ayuda con la API de Totem, qué incluir en una solicitud y qué hacer si se filtra una clave.",{"path":417,"title":418,"description":419},"\u002Fdevelopers\u002Fes\u002Fglossary","Glosario","Los términos de esta documentación, definidos en un solo lugar, cada uno con un enlace a la página que lo explica.",{"path":421,"title":422,"description":423},"\u002Fdevelopers\u002Fes\u002Ffaq","Preguntas frecuentes","Respuestas breves a las preguntas más habituales sobre la API de Totem, con enlaces a los detalles.","\u002Fdevelopers\u002Fsecurity",{"ACTIVATION_MARGIN_MS":426,"ADMIN_ACCESS_DISCLOSURE_VERSION":427,"AUDIT_RETENTION_DAYS":428,"AUTH_FAILURE_LIMITS":429,"CAPTURE_LAG_FLOOR_MS":433,"CAPTURE_LAG_P99_MS":7,"CURSOR_MAX_AGE_DAYS":434,"DIRTY_TTL_DAYS":434,"FAMILY_TEAM_SCOPE":435,"FAMILY_TEAM_SCOPE_OPTIONS":436,"FEED_SETTLE_LAG_MS":438,"GATE_REFRESH_MS":426,"INTEGRATION_NAME_LENGTH":439,"INTEGRATION_PURPOSE_LENGTH":441,"KEY_CACHE_TTL_MS":444,"KEY_STATS_RETENTION_DAYS":445,"LEAD_RESPONSE_READ_BUDGET":446,"LIST_SCAN_MAX":449,"MAX_FAMILY_INTEGRATION_TEAMS":434,"MAX_INTEGRATIONS_PER_FAMILY":450,"MAX_IP_ALLOWLIST":431,"PAGE_LIMIT":451,"PLATFORM_CONFIG_TTL_MS":454,"REMOVAL_RETENTION_DAYS":455,"REQUEST_BODY_MAX_BYTES":456,"ROLL_GRACE_DEFAULT_HOURS":457,"ROLL_GRACE_HOURS":458,"SEARCH_MAX_RESULTS":450,"SENSITIVE_SECTOR_POLICY":461,"SENSITIVE_SECTOR_POLICY_OPTIONS":462,"SYNC_DAILY_BUDGET":464,"SYNC_VELOCITY":466,"TEAM_CACHE_TTL_MS":468},60000,"2026-10-17",365,{"perIpPerMinute":430,"perLookupIdPerMinute":431,"banMs":432},60,20,600000,300000,30,"explicit_list",[435,437],"all_family_teams",10000,{"min":305,"max":440},80,{"min":442,"max":443},1,280,5000,90,{"conversations":431,"messageReads":447,"calls":448},200,50,1000,10,{"default":452,"max":453},25,100,15000,45,16384,24,[459,442,457,460],0,168,"exclude",[461,463],"allow",{"floor":465,"recordsMultiplier":302},250000,{"perMinute":467,"burst":438},2000,30000,"1.0a","guide",[472,473,474,475,476],{"id":24,"text":25,"depth":305},{"id":111,"text":112,"depth":305},{"id":146,"text":147,"depth":305},{"id":212,"text":213,"depth":305},{"id":281,"text":282,"depth":305},{"path":355,"title":57,"section":319},{"path":362,"title":272,"section":359},[],1792502791100]