Skip to content

Assembly Schema

Assembly data files are emitted as {PackageName}.{Version}.json.

{
"$schema": "/schemas/api-schema.json",
"schemaVersion": "1.0.0",
"package": { "name": "...", "version": "...", "targetFramework": "..." },
"types": [ ... ],
"apiHash": "sha256:<hex>",
"signature": { ... }
}

Each type has: name, fullName, namespace, kind, accessibility, docs, and members[].

class, struct, record, record struct, interface, enum, delegate

PropertyTypeDescription
isStaticboolStatic class
isAbstractboolAbstract class or interface
isSealedboolSealed class, struct, or enum
isGenericboolType has generic type parameters
genericParametersarrayGeneric parameter names and constraints
interfacesarrayImplemented interface full names
baseTypestringBase type full name (omitted for System.Object)
attributesarrayShape-affecting attributes (e.g., FlagsAttribute, ObsoleteAttribute)
enumMembersarrayEnum member names, values, and descriptions

Each member has name, kind, signature, returnType, parameters[], and docs.

property, method, field, event, constructor, indexer

PropertyTypeDescription
isStaticboolStatic member
isAbstractboolAbstract member
isVirtualboolVirtual member
isOverrideboolOverrides a base member
isAsyncboolAsync method
isReturnNullableboolReturn type is nullable

Each parameter in parameters[] has:

PropertyTypeDescription
namestringParameter name
typestringParameter type
isOptionalboolHas a default value
defaultValuestringDefault value (when optional)
isNullableboolAccepts null
modifierstringref, out, in, or params

The docs object on types and members may contain:

PropertyTypeDescription
summarystringOne-line description
remarksstringExtended explanation
returnsstringReturn value description
parametersobjectMap of parameter names to descriptions
seeAlsoarrayRelated type/member references