MSP-1 schema

name

Provides a human-readable label, title, or naming set for an MSP-1 resource, entity, page, section, or concept.

MSP-1 v1.0.2 • Core term

name schema definition

Machine-readable structure supporting either a lean name string or a structured name object.

name schema JSON


{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://msp-1.org/schema/name/name.json",
  "title": "MSP-1 Name Schema",
  "description": "Schema for representing a human-readable name, title, or naming set for an MSP-1 resource, entity, page, section, or concept.",
  "$comment": "MSP-1 v1.0.2 allows both the lean string form and the structured object form. For object form, display is required. For string form, the string itself serves as the display name.",
  "oneOf": [
    {
      "type": "string",
      "minLength": 1,
      "description": "A plain-text human-readable name or title for the resource or entity."
    },
    {
      "type": "object",
      "properties": {
        "display": {
          "type": "string",
          "minLength": 1,
          "description": "The preferred user-facing name for display purposes."
        },

        "formal": {
          "type": "string",
          "description": "The official or formally recognized name of the entity or resource."
        },

        "short": {
          "type": "string",
          "description": "Optional abbreviated version of the name for compact UI or metadata contexts."
        },

        "alt": {
          "type": "array",
          "description": "Optional alternate names, including acronyms, legacy names, nicknames, or domain-specific variants.",
          "items": {
            "type": "string"
          }
        },

        "language": {
          "type": "string",
          "description": "Language code associated with the name set."
        },

        "primary": {
          "type": "string",
          "enum": ["formal", "display", "short"],
          "description": "Indicates which naming form should be treated as the primary representation."
        },

        "scope": {
          "type": "string",
          "description": "Optional description of what the name applies to."
        },

        "lastUpdated": {
          "type": "string",
          "format": "date",
          "description": "Date the name set was last reviewed or updated."
        }
      },
      "required": ["display"],
      "additionalProperties": false
    }
  ],
  "examples": [
    "Lighting Guide",
    {
      "display": "MSP-1 Protocol Overview",
      "short": "Protocol Overview",
      "alt": [
        "MSP-1 Introduction",
        "Semantic Protocol Overview"
      ]
    },
    {
      "display": "Mark Johnson",
      "formal": "Mark Johnson"
    }
  ]
}


 

Schema notes

The canonical MSP-1 v1.0.2 form for name may be either a plain-text string or a structured object with display as the required field.

name should not be confused with id, description, or type. name labels the resource or entity; id provides stable identity; description summarizes what it is; type classifies what kind of thing it is.