Skip to content

JSON Model

paccor's JSON model is documented via schema with field groups and a set of ASN.1-backed types that explain how text, numbers, OIDs, byte strings, and trait values are accepted as input. The reference section is a view of that model.

Field sets

A field set is a group of related JSON fields that describe one logical object. Examples include component identifiers, certificate identifiers, URI references, and the top-level hardware manifest object.

A field set bundles:

  • The JSON property name for each field
  • Alias names accepted for backward compatibility or alternatives
  • Optional ASN.1 values such as OIDs or tag numbers
  • A human-readable description derived from project metadata or Javadoc

See the Field Sets reference for the complete catalogue.

Vocabularies

Some fields accept a closed set of symbolic values. Those value sets are documented as vocabularies. Each entry records the JSON value, any aliases still accepted, the ASN.1 value it maps to, and a brief description of the meaning of the choice.

See the Vocabularies reference.

Global ASN.1 types

Many values are not plain strings in the ASN.1 model even when they look simple in JSON. paccor accepts multiple JSON formats for types such as ASN1Integer, ASN1ObjectIdentifier, ASN1OctetString, ASN1BitString, ASN1UTF8String, and AlgorithmIdentifier. The generated type table shows which shapes are accepted and when wrapper objects or arrays are valid.

See Global ASN.1 Types.

Diagrams

Each field-set and vocabulary page includes a generated diagram. These diagrams are intended to provide a fast visual answer to questions such as “which aliases still exist for this field?” or “which field owns this vocabulary?” They are not a replacement for the tables; they are a quick orientation aid before you drop into the exact mapping.

graph TD
  example_fields["components[]"]
  example_fields_field1["componentClass"]
  example_fields_field2["manufacturer"]
  example_fields_alias1["componentManufacturer"]
  example_fields -->|"field"| example_fields_field1
  example_fields -->|"field"| example_fields_field2
  example_fields_field2 -->|"alias"| example_fields_alias1
  classDef path fill:#1f6feb,stroke:#0b3d8c,color:#fff
  classDef field fill:#0e7c66,stroke:#06463a,color:#fff
  classDef alias fill:#6e7681,stroke:#3b414a,color:#fff
  class example_fields path
  class example_fields_field1,example_fields_field2 field
  class example_fields_alias1 alias