Saltar a contenido

El archivo

Qué contiene la parte de OS de una exportación y cómo está organizada, para quien la lee con un programa. Qué es una exportación está en Exportaciones; cómo tomar una, en Exportaciones por la API.

Estructura

Una parte de OS es un zip. Cada archivo salvo manifest.json, organisation.json y las fotos bajo files/ contiene un objeto JSON por línea.

Archivo Contiene En
organisation.json la organización: su id, nombre, la organización superior, estado, etiquetas, conservación del registro de auditoría, creación y cambio de estado la exportación de una organización
control/membership.jsonl membresías: id, organización, persona, estado, creación y cambio de estado toda exportación
control/person.jsonl las personas de las membresías: id, dirección, nombre, estado y foto (su dirección con cada tamaño, y file donde el archivo contiene la foto misma); en la tuya, también si tu dirección está verificada toda exportación
files/photo/<id> la foto de una persona, la imagen más completa guardada, sin extensión: su tipo está en el manifiesto; su fila en control/person.jsonl la nombra en photo.file, y solo lo que el manifiesto lista está en el zip toda exportación, para las personas que quien la pide puede ver
control/invitation.jsonl invitaciones: id, membresía, dirección, finalidad, quién invitó, estado, caducidad toda exportación; en la tuya, las que aceptaste
control/coresubject.jsonl el id con el que las funciones de IA conocen a cada persona en cada organización: así unes este archivo a la parte de las funciones de IA toda exportación
control/personpreference.jsonl tu idioma, página de inicio, navegación, elecciones de notificación y lo que ya has visto (como el recorrido) la parte de cuenta de tu propia exportación
control/controlevent.jsonl, control/organisationplan.jsonl, control/serviceexception.jsonl la vida de la organización, sus planes y excepciones la exportación de una organización
tables/member.jsonl, tables/groupmember.jsonl, tables/memberattribute.jsonl, tables/roleassignment.jsonl miembros, sus grupos, valores y roles toda exportación salvo tu parte de cuenta
tables/group.jsonl, tables/role.jsonl, tables/policy.jsonl, tables/attributedefinition.jsonl, tables/groupattribute.jsonl, tables/invitationgrant.jsonl grupos, roles propios, el documento de reglas, atributos y lo que dan las invitaciones la exportación de una organización
tables/auditevent.jsonl el registro de auditoría; en la exportación de un miembro o la tuya, lo que hizo esa persona toda exportación salvo tu parte de cuenta
tables/notification.jsonl, tables/notificationitem.jsonl, tables/notificationdefault.jsonl notificaciones, los elementos que vieron los miembros, los valores por defecto de la organización; la exportación de un miembro y la tuya contienen sus elementos como se dijo
tables/event.jsonl, tables/webhooksubscription.jsonl, tables/webhookdelivery.jsonl eventos, webhooks sin sus secretos, entregas la exportación de una organización
tables/slackwebhook.jsonl los canales de Slack que conectó la organización, sin sus direcciones la exportación de una organización
tables/handover.jsonl, tables/handoverstep.jsonl el mostrador de Direct Chat: cada solicitud de un empleado con su estado, su origen y sus momentos, y cada uno de sus pasos; nunca una palabra de la conversación la exportación de una organización
manifest.json qué es el archivo, el último del zip toda exportación

Las horas son ISO 8601 en UTC (2026-10-17T09:14:03Z), y los ids son los que responde la API: una fila del archivo y lo mismo desde la API nombran las mismas cosas.

El manifiesto

{"format": "artific-os/export", "format_version": 1, "export_id": "xpt_...",
 "scope": "organisation", "organisation_id": "org_...", "membership_id": null,
 "created_at": "2026-10-17T09:14:03Z", "completed_at": "2026-10-17T09:21:40Z",
 "requested_by": "mem_...", "consistency": "per_table_batch",
 "files": {"tables/auditevent.jsonl": {"rows": 48211, "sha256": "...", "withheld": 0},
           "files/photo/per_...": {"bytes": 48113, "sha256": "...", "media_type": "image/webp"}},
 "not_contained": {"corekey": "a key OS holds at Core, a secret"},
 "core": {"export_id": "exp_...", "status": "running"}}
  • files da por archivo las filas, el SHA-256 de su contenido y cuántas filas se dejaron fuera porque quien pidió la exportación no puede verlas. Una foto figura con su tamaño en bytes (bytes), su SHA-256 y su tipo (media_type, como image/webp).
  • not_contained nombra lo que se deja fuera a propósito, y por qué.
  • consistency: per_table_batch: OS lee un archivo por lotes, así que una fila que cambió mientras corría la exportación puede estar en su estado antiguo o en el nuevo.
  • core nombra la parte de las funciones de IA cuando se pidió; su tamaño y su huella están en la propia exportación (core en la respuesta de la API).
  • El SHA-256 del zip entero está en la exportación (sha256) y en el Digest de la descarga, nunca en el zip.

Versiones

format_version es 1. Se añaden campos y archivos, nunca se quitan ni se renombran; un cambio que rompería tu lector sube format_version.