Skip to content

Quick Start

This is the implementer quick start for Universal Manifest v0.1.

If you are brand new to the project, read Getting Started -> What Is Universal Manifest? first.

Want to see working code? Check out the code examples — start with the hello-world example to create your first manifest in under a minute.

Read:

Key takeaways you need:

  • A Universal Manifest is a JSON-LD document with a unique identifier (@id, also called a UMID — Universal Manifest Identifier), a subject (who or what the manifest is about), and a validity window (issuedAt/expiresAt timestamps that define when the manifest was created and when it expires).
  • Consumers must ignore unknown fields safely. This is what makes the format forward-compatible: older systems will not break when new fields are added.
  • The manifest is a container: it has standard header fields and can hold different kinds of data inside. It can contain embedded shards (optional, named data sections) and/or pointers (URL references to data stored at its authoritative source, so you link to data instead of copying it).

2) Implement the minimum viable consumer (v0.1)

Section titled “2) Implement the minimum viable consumer (v0.1)”

Your consumer (any system that reads and acts on a manifest) should:

  1. Require core fields: @context, @id, @type, manifestVersion, subject, issuedAt, expiresAt
  2. Enforce the validity window (check whether the manifest has expired):
    • reject if now > expiresAt
    • (recommended) reject if issuedAt > expiresAt
  3. Treat unknown fields as ignorable
  4. Read only the parts you understand:
    • shards — optional, named data sections (include only the ones relevant to your use case)
    • pointers — URL references to data at its authoritative source
    • claims, consents, devices — optional sections for verified assertions, user permissions, and device records

3) Validate against spec files and test examples

Section titled “3) Validate against spec files and test examples”

Start with:

Open the interactive test tool, which loads and displays manifest examples in your browser:

Use the Manifest Workbench when you need a browser-based tool for creating, editing, validating, and exporting manifests:

If you are testing a resolver (a web service that looks up manifests by UMID) implementation too, read: