{
  "enumDefs": [
    {
      "name": "KeyPattern",
      "description":"Key Pattern indicates the way that the key is being used",
      "typeVersion": "1.0",
      "elementDefs": [
        {
          "ordinal": 0,
          "value": "LOCAL_KEY"
        },
        {
          "ordinal": 1,
          "value": "RECYCLED_KEY"
        },
        {
          "ordinal": 2,
          "value": "NATURAL_KEY",
          "description": "A natural key (also known as business key) is a type of unique key, found in relational model database design, that is formed of attributes that already exist in the real world."
        },
        {
          "ordinal": 4,
          "value": "MIRROR_KEY"
        },
        {
          "ordinal": 5,
          "value": "AGGREGATE_KEY"
        },
        {
          "ordinal": 6,
          "value": "CALLERS_KEY"
        },
        {
          "ordinal": 7,
          "value": "STABLE_KEY"
        },
        {
          "ordinal": 99,
          "value": "OTHER"
        }
      ]
    }
  ],
  "structDefs": [],
  "classificationDefs": [],
  "entityDefs": [
    {
      "name": "ExternalId",
      "description":"External Identifiers are identifiers for a Referenceable that are used in external systems.",
      "superTypes": [
        "Referenceable"
      ],
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "identifier",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "keyPattern",
          "typeName": "KeyPattern",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        }
      ]
    }
  ],
  "relationshipDefs": [
    {
      "name": "ExternalIdentifierLink",
      "description":"External Identifier Link relates external identifiers to elements they are also known as.",
      "typeVersion": "1.0",
      "endDef1": {
        "name": "resource",
        "type": "ExternalId",
        "cardinality": "SINGLE"
      },
      "endDef2": {
        "name": "alsoKnownAs",
        "type": "Referenceable",
        "cardinality": "SET"
      },
      "relationshipCategory": "ASSOCIATION",
      "attributeDefs": [
        {
          "name": "description",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true
        },
        {
          "name": "usage",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true
        },
        {
          "name": "source",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true
        }
      ]
    },
    {
      "name": "ExternalIdentifierScope",
      "typeVersion": "1.0",
      "endDef1": {
        "name": "scopedTo",
        "type": "ExternalId",
        "cardinality": "SET"
      },
      "endDef2": {
        "name": "managedResources",
        "type": "Referenceable",
        "cardinality": "SET"
      },
      "relationshipCategory": "ASSOCIATION",
      "attributeDefs": [
        {
          "name": "description",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true
        }
      ]
    }
  ]
}
