Personal Data Portability Archive (PDPArchive) format for mail, contacts, calendar, tasks

Added on June 3, 2026Managed by Data Transfer Initiative

PDPArchive Contacts schema

{
  "$id": "https://id.schemas.pub/o/DTI/PDPArchive/contact",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Schema for Personal Data Portability Archive (pdparchive) Contact",
  "type": "object",
  "required": ["@type", "version", "uid", "updated"],
  "properties": {
    "@type": {
      "type": "string",
      "const": "Card"
    },
    "version": {
      "type": "string"
    },
    "uid": {
      "description": "Globally unique identifier for the contact",
      "type": "string"
    },
    "id": {
      "description": "JMAP ID for the contact",
      "type": "string"
    },
    "created": {
      "type": "string",
      "format": "date-time"
    },
    "updated": {
      "type": "string",
      "format": "date-time"
    },
    "rev": {
      "description": "Revision timestamp from vCard RFC6350; may be included alongside updated",
      "type": "string",
      "format": "date-time"
    },
    "kind": {
      "type": "string",
      "enum": ["individual", "group", "org", "location", "device", "application"]
    },
    "addressBookIds": {
      "type": "object",
      "additionalProperties": {
        "type": "boolean"
      }
    },
    "name": {
      "type": "object",
      "properties": {
        "full": {
          "type": "string"
        },
        "defaultSeparator": {
          "type": "string"
        },
        "isOrdered": {
          "type": "boolean"
        },
        "components": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["kind", "value"],
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["title", "given", "given2", "surname", "surname2",
                         "generation", "credential", "separator"]
              },
              "value": {
                "type": "string"
              },
              "phonetic": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "members": {
      "description": "For group contacts; maps member UIDs to true",
      "type": "object",
      "additionalProperties": {
        "type": "boolean"
      }
    },
    "relatedTo": {
      "description": "Maps UIDs of related contacts to relation objects",
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "relation": {
            "type": "object",
            "additionalProperties": {
              "type": "boolean"
            }
          }
        }
      }
    },
    "notes": {
      "description": "Maps note IDs to note objects",
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "required": ["note"],
        "properties": {
          "note": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "author": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}

View source