Het archief¶
Wat het OS-deel van een export bevat en hoe het is ingedeeld, voor wie het met een programma leest. Wat een export is staat in Exports; hoe je er een neemt in Exports via de API.
Indeling¶
Een OS-deel is een zip. Elk bestand behalve manifest.json, organisation.json en de foto's onder
files/ bevat één JSON-object per regel.
| Bestand | Bevat | In |
|---|---|---|
organisation.json |
de organisatie: id, naam, de organisatie erboven, status, labels, bewaartermijn van het logboek, aangemaakt en status gewijzigd | een export van een organisatie |
control/membership.jsonl |
lidmaatschappen: id, organisatie, persoon, status, aangemaakt en status gewijzigd | elke export |
control/person.jsonl |
de mensen van die lidmaatschappen: id, adres, naam, status en foto (het adres met elke grootte, en file waar het archief de foto zelf bevat); in je eigen ook of je adres bevestigd is |
elke export |
files/photo/<id> |
de foto van een persoon, het volledigste beeld dat bewaard is, zonder extensie: het soort staat in het manifest; de rij in control/person.jsonl noemt hem in photo.file, en alleen wat het manifest noemt staat in de zip |
elke export, voor de mensen die de aanvrager mag zien |
control/invitation.jsonl |
uitnodigingen: id, lidmaatschap, adres, doel, wie uitnodigde, status, verloopdatum | elke export; in je eigen de uitnodigingen die je aannam |
control/coresubject.jsonl |
de id waaronder de AI-functies elke persoon in elke organisatie kennen: zo koppel je dit archief aan het deel van de AI-functies | elke export |
control/personpreference.jsonl |
je taal, startpagina, navigatie, meldingskeuzes en wat je al hebt gezien (zoals de rondleiding) | het accountdeel van je eigen export |
control/controlevent.jsonl, control/organisationplan.jsonl, control/serviceexception.jsonl |
de levensloop van de organisatie, haar pakketten en uitzonderingen | een export van een organisatie |
tables/member.jsonl, tables/groupmember.jsonl, tables/memberattribute.jsonl, tables/roleassignment.jsonl |
leden, hun groepen, waarden en rollen | elke export behalve je accountdeel |
tables/group.jsonl, tables/role.jsonl, tables/policy.jsonl, tables/attributedefinition.jsonl, tables/groupattribute.jsonl, tables/invitationgrant.jsonl |
groepen, eigen rollen, het regeldocument, attributen en wat uitnodigingen geven | een export van een organisatie |
tables/auditevent.jsonl |
het logboek; in een export van een lid of je eigen, wat die persoon deed | elke export behalve je accountdeel |
tables/notification.jsonl, tables/notificationitem.jsonl, tables/notificationdefault.jsonl |
meldingen, wat leden ervan zagen, de standaardinstellingen van de organisatie; een export van een lid en je eigen bevatten hun eigen meldingen | zoals gezegd |
tables/event.jsonl, tables/webhooksubscription.jsonl, tables/webhookdelivery.jsonl |
gebeurtenissen, webhooks zonder hun geheim, afleveringen | een export van een organisatie |
tables/slackwebhook.jsonl |
Slack-kanalen die de organisatie koppelde, zonder hun adres | een export van een organisatie |
tables/handover.jsonl, tables/handoverstep.jsonl |
de Direct Chat-balie: elk verzoek om een medewerker met zijn stand, aanleiding en tijden, en elke stap ervan; nooit een woord van het gesprek | een export van een organisatie |
manifest.json |
wat het archief is, als laatste in de zip | elke export |
Tijden zijn ISO 8601 in UTC (2026-10-17T09:14:03Z), en id's zijn die de API geeft, zodat een rij
in het archief en hetzelfde ding uit de API naar dezelfde dingen verwijzen.
Het manifest¶
{"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"}}
filesgeeft per bestand het aantal rijen, de SHA-256 van de inhoud en hoeveel rijen zijn weggelaten omdat de aanvrager ze niet mag zien. Een foto staat erin met zijn grootte in bytes (bytes), zijn SHA-256 en zijn soort (media_type, zoalsimage/webp).not_containednoemt wat bewust is weggelaten, en waarom.consistency: per_table_batch: OS leest een bestand per portie, dus een rij die veranderde terwijl de export liep, kan in zijn oude of zijn nieuwe staat staan.corenoemt het deel van de AI-functies als dat is aangevraagd; de grootte en de hash staan bij de export zelf (corein het antwoord van de API).- De SHA-256 van de hele zip staat bij de export (
sha256) en in deDigestvan de download, nooit in de zip.
Versies¶
format_version is 1. Velden en bestanden komen erbij, worden nooit weggehaald of hernoemd; een
wijziging die je lezer zou breken verhoogt format_version.