diff --git a/examples/docs/README.md b/examples/docs/README.md
index 68536b765875bf0ff6ab2a2181e3cfb33fd2b98c..b15a093441a9b731fbb948a81a348d9e167ded0a 100644
--- a/examples/docs/README.md
+++ b/examples/docs/README.md
@@ -18,6 +18,7 @@
 * [Examples](./examples.schema.md) – `https://example.com/schemas/examples`
 * [Extending](./extending.schema.md) – `https://example.com/schemas/extending`
 * [Extensible](./extensible.schema.md) – `https://example.com/schemas/extensible`
+* [Identifiable](./identifiable.schema.md) – `https://example.com/schemas/identifiable`
 * [Simple](./simple.schema.md) – `https://example.com/schemas/simple`
 * [Simple Types](./simpletypes.schema.md) – `https://example.com/schemas/simpletypes`
 * [Stabilizing](./stabilizing.schema.md) – `https://example.com/schemas/stabilizing`
diff --git a/spec/examples/README.md b/spec/examples/README.md
index 68536b765875bf0ff6ab2a2181e3cfb33fd2b98c..b15a093441a9b731fbb948a81a348d9e167ded0a 100644
--- a/spec/examples/README.md
+++ b/spec/examples/README.md
@@ -18,6 +18,7 @@
 * [Examples](./examples.schema.md) – `https://example.com/schemas/examples`
 * [Extending](./extending.schema.md) – `https://example.com/schemas/extending`
 * [Extensible](./extensible.schema.md) – `https://example.com/schemas/extensible`
+* [Identifiable](./identifiable.schema.md) – `https://example.com/schemas/identifiable`
 * [Simple](./simple.schema.md) – `https://example.com/schemas/simple`
 * [Simple Types](./simpletypes.schema.md) – `https://example.com/schemas/simpletypes`
 * [Stabilizing](./stabilizing.schema.md) – `https://example.com/schemas/stabilizing`
diff --git a/spec/examples/abstract.schema.md b/spec/examples/abstract.schema.md
index a4e4b7e958808b7aed0ecd8cd5c9ae6d1ec81f03..fdd7b672ec7e4aeebbbc85ce0a7747324c768210 100644
--- a/spec/examples/abstract.schema.md
+++ b/spec/examples/abstract.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/abstract
 
 This is an abstract schema. It has `definitions`, but does not declare any properties
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Cannot be instantiated | Yes | Experimental | Forbidden | Permitted | [abstract.schema.json](abstract.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Cannot be instantiated | Yes | Experimental | No | Forbidden | Permitted | [abstract.schema.json](abstract.schema.json) |
 
 # Abstract Definitions
 
diff --git a/spec/examples/arrays.schema.md b/spec/examples/arrays.schema.md
index 7b224d4050f08d79b81ded276471a3b97e4a5686..15d3d811ed9a90f9dbfff0eb705810320bb57fd4 100644
--- a/spec/examples/arrays.schema.md
+++ b/spec/examples/arrays.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/arrays
 
 This is an example schema with examples for multiple array types and their constraints.
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | No | Experimental | Forbidden | Permitted | [arrays.schema.json](arrays.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | No | Experimental | No | Forbidden | Permitted | [arrays.schema.json](arrays.schema.json) |
 
 # Arrays Properties
 
diff --git a/spec/examples/complex.schema.md b/spec/examples/complex.schema.md
index 44679c259cae5eb500dfbe0e8347eb55c0d72eb1..1a04dcd016dd8422fd64fccf7c365f07e5993fc2 100644
--- a/spec/examples/complex.schema.md
+++ b/spec/examples/complex.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/complex
 
 This is an example schema that uses types defined in other schemas.
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | No | Experimental | Forbidden | Permitted | [complex.schema.json](complex.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | No | Experimental | No | Forbidden | Permitted | [complex.schema.json](complex.schema.json) |
 ## Schema Hierarchy
 
 * Complex References  `https://example.com/schemas/complex`
diff --git a/spec/examples/constants.schema.md b/spec/examples/constants.schema.md
index 4dce7954acee92a1bf37b2f1a260965f9216124e..cf4c3870e8783b26e91e350fb9c988f41215df13 100644
--- a/spec/examples/constants.schema.md
+++ b/spec/examples/constants.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/constants
 
 This is an example schema with examples for properties with constant values
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | No | Experimental | Forbidden | Permitted | [constants.schema.json](constants.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | No | Experimental | No | Forbidden | Permitted | [constants.schema.json](constants.schema.json) |
 
 # Constant Types Properties
 
diff --git a/spec/examples/custom.schema.md b/spec/examples/custom.schema.md
index fae3a9843b02175774c771ba4f06bff760df4d31..d2971e16b2c3fd8449f0b75bc80eac5c4229d552 100644
--- a/spec/examples/custom.schema.md
+++ b/spec/examples/custom.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/custom
 
 This is an extensible schema. It has `definitions`, that can be used in other schemas. Additionally, it allows custom properties.
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | Yes | Experimental | Allowed | Permitted | [custom.schema.json](custom.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | Yes | Experimental | No | Allowed | Permitted | [custom.schema.json](custom.schema.json) |
 
 # Custom Properties
 
diff --git a/spec/examples/deepextending.schema.md b/spec/examples/deepextending.schema.md
index 3c1fc445690979fbe6830782c829efa769af80ba..b9b9d2db8fffc004e89729cc6e625f74b70b574c 100644
--- a/spec/examples/deepextending.schema.md
+++ b/spec/examples/deepextending.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/deepextending
 
 This is an extending schema. It is extending another extending schema. It pulls `definitions` from other schemas.
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | Yes | Experimental | Forbidden | Permitted | [deepextending.schema.json](deepextending.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | Yes | Experimental | Yes | Forbidden | Permitted | [deepextending.schema.json](deepextending.schema.json) |
 ## Schema Hierarchy
 
 * Deeply Extending `https://example.com/schemas/deepextending`
@@ -47,7 +47,7 @@ An `id` with an `@` in front of it. The `@` stands for "dot com"
 
 
 `string`
-* format: `uri-reference` – URI Reference (according to [RFC3986](https://tools.ietf.org/html/rfc3986))
+* format: `uri` – Uniformous Resource Identifier (according to [RFC3986](http://tools.ietf.org/html/rfc3986))
 
 
 
@@ -142,7 +142,7 @@ A unique identifier given to every addressable thing.
 
 
 `string`
-* format: `uri` – Uniformous Resource Identifier (according to [RFC3986](http://tools.ietf.org/html/rfc3986))
+* format: `uri-reference` – URI Reference (according to [RFC3986](https://tools.ietf.org/html/rfc3986))
 
 
 
diff --git a/spec/examples/definitions.schema.md b/spec/examples/definitions.schema.md
index 97bceaa6341a22614206154e009e733c1b256cb9..da43dcb82b07780106b5cf071000bdcaef23a048 100644
--- a/spec/examples/definitions.schema.md
+++ b/spec/examples/definitions.schema.md
@@ -28,9 +28,9 @@ aks.
 > Everything is better with a quote.
 
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | Yes | Experimental | Forbidden | Permitted | [definitions.schema.json](definitions.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | Yes | Experimental | Yes | Forbidden | Permitted | [definitions.schema.json](definitions.schema.json) |
 
 # Definitions Properties
 
@@ -54,7 +54,7 @@ An `id` with an `@` in front of it. The `@` stands for "dot com"
 
 
 `string`
-* format: `uri-reference` – URI Reference (according to [RFC3986](https://tools.ietf.org/html/rfc3986))
+* format: `uri` – Uniformous Resource Identifier (according to [RFC3986](http://tools.ietf.org/html/rfc3986))
 
 
 
@@ -74,7 +74,7 @@ A unique identifier given to every addressable thing.
 
 
 `string`
-* format: `uri` – Uniformous Resource Identifier (according to [RFC3986](http://tools.ietf.org/html/rfc3986))
+* format: `uri-reference` – URI Reference (according to [RFC3986](https://tools.ietf.org/html/rfc3986))
 
 
 
diff --git a/spec/examples/enums.schema.md b/spec/examples/enums.schema.md
index 61b3a56af4cb4a4434a6c0fc4b7f04ae53eda950..3b4ea1019eab74836f70fae84dc78cf43b4a4355 100644
--- a/spec/examples/enums.schema.md
+++ b/spec/examples/enums.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/enums
 
 This is an example schema with examples for properties with enum values
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | No | Experimental | Forbidden | Permitted | [enums.schema.json](enums.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | No | Experimental | No | Forbidden | Permitted | [enums.schema.json](enums.schema.json) |
 
 # Enumerated  Properties
 
diff --git a/spec/examples/example.schema.md b/spec/examples/example.schema.md
index a606dbc82a6d592e699d0007a7419bd26929483e..39a7d67437492bdde4b4f4185e39440f20a2d0fd 100644
--- a/spec/examples/example.schema.md
+++ b/spec/examples/example.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/example
 
 This is an example schema with examples. Too many examples? There can never be too many examples!
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | No | Experimental | Forbidden | Permitted | [example.schema.json](example.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | No | Experimental | No | Forbidden | Permitted | [example.schema.json](example.schema.json) |
 
 ## Example Example
 ```json
diff --git a/spec/examples/examples.schema.md b/spec/examples/examples.schema.md
index cddde01fb8262dce9db404e35e8b29fca38c50f6..5d4aa2ca7ebfed62be546e3be03db4211728114f 100644
--- a/spec/examples/examples.schema.md
+++ b/spec/examples/examples.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/examples
 
 This is an example schema with *multiple* examples. Too many examples? There can never be too many examples!
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | No | Experimental | Forbidden | Permitted | [examples.schema.json](examples.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | No | Experimental | No | Forbidden | Permitted | [examples.schema.json](examples.schema.json) |
 
 ## Examples Examples
 
diff --git a/spec/examples/extending.schema.md b/spec/examples/extending.schema.md
index a34d9c6821b2b2a0979a77ca249e4e2301ef5ab8..17c7c21a05f66ed5edac096f891b84bfdafd5b66 100644
--- a/spec/examples/extending.schema.md
+++ b/spec/examples/extending.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/extending
 
 This is an extending schema. It pulls `definitions` from other schemas.
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | Yes | Experimental | Forbidden | Permitted | [extending.schema.json](extending.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | Yes | Experimental | Yes | Forbidden | Permitted | [extending.schema.json](extending.schema.json) |
 ## Schema Hierarchy
 
 * Extending `https://example.com/schemas/extending`
@@ -45,7 +45,7 @@ An `id` with an `@` in front of it. The `@` stands for "dot com"
 
 
 `string`
-* format: `uri-reference` – URI Reference (according to [RFC3986](https://tools.ietf.org/html/rfc3986))
+* format: `uri` – Uniformous Resource Identifier (according to [RFC3986](http://tools.ietf.org/html/rfc3986))
 
 
 
@@ -121,7 +121,7 @@ A unique identifier given to every addressable thing.
 
 
 `string`
-* format: `uri` – Uniformous Resource Identifier (according to [RFC3986](http://tools.ietf.org/html/rfc3986))
+* format: `uri-reference` – URI Reference (according to [RFC3986](https://tools.ietf.org/html/rfc3986))
 
 
 
diff --git a/spec/examples/extensible.schema.md b/spec/examples/extensible.schema.md
index 4582a9382096859523bc42c15d9f9ceaed3d8c79..edf1e5c40b6a066377bf253109734ebb4969d33d 100644
--- a/spec/examples/extensible.schema.md
+++ b/spec/examples/extensible.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/extensible
 
 This is an extensible schema. It has `definitions`, that can be used in other schemas
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Cannot be instantiated | Yes | Experimental | Forbidden | Permitted | [extensible.schema.json](extensible.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Cannot be instantiated | Yes | Experimental | No | Forbidden | Permitted | [extensible.schema.json](extensible.schema.json) |
 
 # Extensible Definitions
 
diff --git a/spec/examples/simple.schema.md b/spec/examples/simple.schema.md
index 6327fbf44d2034afb9f044c366aff30521de3608..b801c02f404115e1ccfe9d8e24186df46e6ce035 100644
--- a/spec/examples/simple.schema.md
+++ b/spec/examples/simple.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/simple
 
 This is a *very* simple example of a JSON schema. There is only one property.
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | No | Experimental | Forbidden | Permitted | [simple.schema.json](simple.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | No | Experimental | No | Forbidden | Permitted | [simple.schema.json](simple.schema.json) |
 
 # Simple Properties
 
diff --git a/spec/examples/simpletypes.schema.md b/spec/examples/simpletypes.schema.md
index 6e89018ba9b58428aa21f901927529a5c80691a4..b030c5ad4cb58776086a4d92a35b764a00199f4e 100644
--- a/spec/examples/simpletypes.schema.md
+++ b/spec/examples/simpletypes.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/simpletypes
 
 This is an example schema with examples for multiple types and their constraints.
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | No | Experimental | Forbidden | Permitted | [simpletypes.schema.json](simpletypes.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | No | Experimental | No | Forbidden | Permitted | [simpletypes.schema.json](simpletypes.schema.json) |
 
 # Simple Types Properties
 
diff --git a/spec/examples/stabilizing.schema.md b/spec/examples/stabilizing.schema.md
index 56c022f8e09c011387c2cde6aaf891ad199bb153..cc1a08297d82e3ca6e383a8fcb6900b60d2f4403 100644
--- a/spec/examples/stabilizing.schema.md
+++ b/spec/examples/stabilizing.schema.md
@@ -11,9 +11,9 @@ https://example.com/schemas/stabilizing
 
 This is a schema which is currently in the `stabilizing` status.
 
-| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Custom Properties | Additional Properties | Defined In |
-|----------------------------|------------|------------------------|-------------------|-----------------------|------------|
-| Can be instantiated | No | Stabilizing | Forbidden | Permitted | [stabilizing.schema.json](stabilizing.schema.json) |
+| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
+|----------------------------|------------|------------------------|--------------|-------------------|-----------------------|------------|
+| Can be instantiated | No | Stabilizing | No | Forbidden | Permitted | [stabilizing.schema.json](stabilizing.schema.json) |
 
 # Stabilizing Properties
 
diff --git a/spec/lib/integrationTest.spec.js b/spec/lib/integrationTest.spec.js
index e9952f8fa248a3f4bae17aa736837c7dc3e98476..7101d6d7be8979a68f015348218b9cff66af942d 100644
--- a/spec/lib/integrationTest.spec.js
+++ b/spec/lib/integrationTest.spec.js
@@ -55,7 +55,7 @@ describe('Compare results', () => {
       expect(code).toEqual(0);
 
       const files = readdirSync('./spec/examples');
-      expect(files.length).toEqual(17);
+      expect(files.length).toEqual(18);
       done();
     });
   });