Schemall API
Version 1.0.0
Universal HTTP API for vocabularies, schema catalogs, objects, property values, lists, bookmarks, snapshots, settings, messages, reports, i18n, access, auth tokens, and icons.
Endpoints (148)
GET/api/v1/openapi
Get platform OpenAPI schema
Returns the universal Schemall OpenAPI document.
GET/api/v1/classes/{class}/openapi
Get classes entity OpenAPI schema
Returns an OpenAPI document for one schema entity.
GET/api/v1/classes/{class}
Get classes entity JSON Schema
GET/api/v1/classes/{class}/types
List classes entity types
Direct types of this entity: subclasses for Class/DataType, enumeration members for Enumeration.
GET/api/v1/classes/{class}/types/{type}
Get classes type JSON Schema
JSON Schema for one direct type under this entity (subclass or enumeration member). Distinct from the parent entity schema and from property-level anyOf schemas.
POST/api/v1/classes/{class}/validate
Validate classes entity data
GET/api/v1/classes/{class}/i18n
Get classes entity linguistic tokens
PUT/api/v1/classes/{class}/i18n
Replace classes entity linguistic tokens
PATCH/api/v1/classes/{class}/i18n
Patch classes entity linguistic tokens
GET/api/v1/classes/{class}/access
List classes access grants
POST/api/v1/classes/{class}/access
Create classes access grant
PUT/api/v1/classes/{class}/access/{id}
Update classes access grant
PATCH/api/v1/classes/{class}/access/{id}
Patch classes access grant
DELETE/api/v1/classes/{class}/access/{id}
Delete classes access grant
GET/api/v1/classes/{class}/properties/{property}
Get classes property JSON Schema
GET/api/v1/classes/{class}/properties/{property}/types/{type}
Get classes property type JSON Schema
Leaf value schema for one expected property type (typed PropertyValueSpecification). Edit path is the typed PVS sheet; this endpoint is read-only compile output.
POST/api/v1/classes/{class}/properties/{property}/validate
Validate classes property value
GET/api/v1/classes/{class}/properties/{property}/i18n
Get classes property linguistic tokens
PUT/api/v1/classes/{class}/properties/{property}/i18n
Replace classes property linguistic tokens
PATCH/api/v1/classes/{class}/properties/{property}/i18n
Patch classes property linguistic tokens
GET/api/v1/classes/{class}/objects
List classes objects
POST/api/v1/classes/{class}/objects
Create classes object
GET/api/v1/classes/{class}/objects/count
Count classes objects
GET/api/v1/classes/{class}/objects/{id}
Get classes object
PUT/api/v1/classes/{class}/objects/{id}
Update classes object
PATCH/api/v1/classes/{class}/objects/{id}
Patch classes object
DELETE/api/v1/classes/{class}/objects/{id}
Delete classes object
GET/api/v1/classes/{class}/objects/{id}/v
List classes object versions
GET/api/v1/classes/{class}/objects/{id}/property-values
List classes object property values
Returns property values of a classes object as an ItemList with pagination, duplicate collapse (distinct), and property filtering.
POST/api/v1/classes/{class}/objects/{id}/property-values
Create classes object property value(s)
Creates one or multiple property values for a classes object. Accepts a single PropertyValue object or an array of PropertyValue objects.
GET/api/v1/classes/{class}/objects/{id}/property-values/{propertyValueId}
Get classes object property value
Returns a single property value of a classes object by id.
PUT/api/v1/classes/{class}/objects/{id}/property-values/{propertyValueId}
Update classes object property value
Updates an existing property value of a classes object via ReplaceAction (immutable).
PATCH/api/v1/classes/{class}/objects/{id}/property-values/{propertyValueId}
Patch classes object property value
Patches an existing property value of a classes object. Same payload as PUT.
DELETE/api/v1/classes/{class}/objects/{id}/property-values/{propertyValueId}
Delete classes object property value
Soft-deletes a property value of a classes object via DeleteAction.
GET/api/v1/classes/{class}/lists
List classes ItemLists
GET/api/v1/classes/{class}/lists/count
Count classes ItemLists
GET/api/v1/classes/{class}/lists/{id}
Get classes ItemList
GET/api/v1/classes/{class}/lists/{id}/objects
List objects in a classes ItemList
GET/api/v1/classes/{class}/lists/{id}/objects/count
Count objects in a classes ItemList
GET/api/v1/enumerations/{enumeration}/openapi
Get enumerations entity OpenAPI schema
Returns an OpenAPI document for one schema entity.
GET/api/v1/enumerations/{enumeration}
Get enumerations entity JSON Schema
GET/api/v1/enumerations/{enumeration}/types
List enumerations entity types
Direct types of this entity: subclasses for Class/DataType, enumeration members for Enumeration.
GET/api/v1/enumerations/{enumeration}/types/{type}
Get enumerations type JSON Schema
JSON Schema for one direct type under this entity (subclass or enumeration member). Distinct from the parent entity schema and from property-level anyOf schemas.
POST/api/v1/enumerations/{enumeration}/validate
Validate enumerations entity data
GET/api/v1/enumerations/{enumeration}/i18n
Get enumerations entity linguistic tokens
PUT/api/v1/enumerations/{enumeration}/i18n
Replace enumerations entity linguistic tokens
PATCH/api/v1/enumerations/{enumeration}/i18n
Patch enumerations entity linguistic tokens
GET/api/v1/enumerations/{enumeration}/access
List enumerations access grants
POST/api/v1/enumerations/{enumeration}/access
Create enumerations access grant
PUT/api/v1/enumerations/{enumeration}/access/{id}
Update enumerations access grant
PATCH/api/v1/enumerations/{enumeration}/access/{id}
Patch enumerations access grant
DELETE/api/v1/enumerations/{enumeration}/access/{id}
Delete enumerations access grant
GET/api/v1/enummembers/{enumMember}/openapi
Get enummembers entity OpenAPI schema
Returns an OpenAPI document for one schema entity.
GET/api/v1/enummembers/{enumMember}
Get enummembers entity JSON Schema
GET/api/v1/enummembers/{enumMember}/types
List enummembers entity types
Direct types of this entity: subclasses for Class/DataType, enumeration members for Enumeration.
GET/api/v1/enummembers/{enumMember}/types/{type}
Get enummembers type JSON Schema
JSON Schema for one direct type under this entity (subclass or enumeration member). Distinct from the parent entity schema and from property-level anyOf schemas.
POST/api/v1/enummembers/{enumMember}/validate
Validate enummembers entity data
GET/api/v1/enummembers/{enumMember}/i18n
Get enummembers entity linguistic tokens
PUT/api/v1/enummembers/{enumMember}/i18n
Replace enummembers entity linguistic tokens
PATCH/api/v1/enummembers/{enumMember}/i18n
Patch enummembers entity linguistic tokens
GET/api/v1/enummembers/{enumMember}/access
List enummembers access grants
POST/api/v1/enummembers/{enumMember}/access
Create enummembers access grant
PUT/api/v1/enummembers/{enumMember}/access/{id}
Update enummembers access grant
PATCH/api/v1/enummembers/{enumMember}/access/{id}
Patch enummembers access grant
DELETE/api/v1/enummembers/{enumMember}/access/{id}
Delete enummembers access grant
GET/api/v1/classes
List classes
Windowed Class catalog. Use `presentation=card`, `forThingCreate`, `withThingCount`, or `count=true`.
GET/api/v1/classes/{id}
Get class
DELETE/api/v1/classes/{id}
Delete class
GET/api/v1/classes/{id}/dependents
List class dependent properties
POST/api/v1/classes/{id}/fork
Fork class into another vocabulary
Copies a Class / Enumeration / EnumerationMember into the target vocabulary: same local name and values, owned by the caller, public by default. Cross-entity references (`declaredProperty`, `subTypeOf`, ranges, enumeration members) are copied as-is, not forked.
GET/api/v1/properties
List properties
GET/api/v1/objects
List objects
Global Thing catalog. `presentation=card|selectColumn|listItem`. `seedIds=vocabularyIsPartOf` returns vocabulary seed ids.
GET/api/v1/objects/count
Count objects
GET/api/v1/objects/{id}
Get object
DELETE/api/v1/objects/{id}
Delete object
GET/api/v1/objects/{id}/changelog
List object change log
GET/api/v1/objects/{id}/changelog-options
List object changelog filter options
GET/api/v1/objects/{id}/snapshots
Get object property values as-of a timestamp
GET/api/v1/objects/{id}/snapshots/tags
List snapshot tags for an object
POST/api/v1/snapshots/tags
Create snapshot tag
PUT/api/v1/snapshots/tags/{id}
Rename snapshot tag
DELETE/api/v1/snapshots/tags/{id}
Delete snapshot tag
GET/api/v1/property-values
List property values
Index / sheet list. `typesForSlot` and `slotThings` / `presentation=column` return slot helpers.
GET/api/v1/property-values/{id}
Get property value
DELETE/api/v1/property-values/{id}
Delete property value
GET/api/v1/property-value-specifications
List property value specifications
POST/api/v1/property-value-specifications
Create property value specification
GET/api/v1/property-value-specifications/{id}
Get property value specification
PUT/api/v1/property-value-specifications/{id}
Update property value specification
DELETE/api/v1/property-value-specifications/{id}
Delete property value specification
GET/api/v1/bookmarks
List bookmarks
POST/api/v1/bookmarks
Toggle bookmark
DELETE/api/v1/bookmarks
Clear bookmarks
GET/api/v1/bookmarks/collections
List bookmark collection classes
GET/api/v1/access
List access grants or capability checks
POST/api/v1/access
Create access grant
GET/api/v1/access/{id}
Get access grant
PUT/api/v1/access/{id}
Update access grant
DELETE/api/v1/access/{id}
End access grant
GET/api/v1/item-lists
List item lists
POST/api/v1/item-lists
Create item list
GET/api/v1/item-lists/collections
List item-list collection classes
GET/api/v1/item-lists/containing
List item lists containing an element
POST/api/v1/item-lists/sync
Sync element membership across item lists
GET/api/v1/item-lists/{id}
Get item list
PUT/api/v1/item-lists/{id}
Update item list
DELETE/api/v1/item-lists/{id}
Delete item list
GET/api/v1/item-lists/{id}/elements
List item-list elements
GET/api/v1/linguistic-tokens
List linguistic tokens
DELETE/api/v1/linguistic-tokens/{id}
Delete linguistic token
POST/api/v1/schema/resolve-form
Resolve JSON Schema for an RJSF form
GET/api/v1/settings/website-context
Get website Thing context by domain
GET/api/v1/settings/visibility/{id}
Get entity visibility
PUT/api/v1/settings/visibility/{id}
Update entity visibility
GET/api/v1/accounts/owners
List account owners
GET/api/v1/auth/tokens
List API tokens
Lists scoped API tokens for the authenticated person. Powers the API token panel on /api.
POST/api/v1/auth/tokens
Create API token
Creates an API token for the authenticated person. The plaintext secret is returned once and cannot be read back. The API token panel on /api calls this endpoint with every available scope and keeps the secret in the browser so Swagger UI is authorized automatically.
DELETE/api/v1/auth/tokens/{id}
Revoke API token
GET/api/v1/icons
List MDI icons
GET/api/v1/icons/{icon-name}
Get MDI icon
GET/api/v1/icons/{icon-name}/content
Get MDI icon SVG
GET/api/v1/vocabularies
List vocabularies
POST/api/v1/vocabularies
Create vocabulary
GET/api/v1/vocabularies/{vocabulary}
Get vocabulary by hostname
PATCH/api/v1/vocabularies/{vocabulary}
Update vocabulary
GET/api/v1/vocabularies/{vocabulary}/classes
List classes in a vocabulary
GET/api/v1/vocabularies/{vocabulary}/properties
List properties in a vocabulary
GET/api/v1/vocabularies/{vocabulary}/enumerations
List enumerations in a vocabulary
GET/api/v1/vocabularies/{vocabulary}/enummembers
List enumeration members in a vocabulary
GET/api/v1/properties/{property}
Get standalone property JSON Schema
GET/api/v1/properties/{property}/types/{type}
Get standalone property type JSON Schema
Leaf value schema for one expected property type (typed PropertyValueSpecification).
POST/api/v1/properties/{property}/fork
Fork property into another vocabulary
Copies a Property into the target vocabulary: same local name and values, owned by the caller, public by default. `domainIncludes` / `rangeIncludes` / `subPropertyOf` / `inverseOf` references are copied as-is, not forked.
GET/api/v1/persons/{id}/organizations
List organizations for a person
POST/api/v1/organizations
Create organization
PATCH/api/v1/organizations/{id}
Update organization
GET/api/v1/organizations/{id}/members
List organization members
POST/api/v1/organizations/{id}/members
Add organization members
POST/api/v1/bookmarks/toggle
Toggle bookmark for a Thing
GET/api/v1/me/permissions
List my Permission grants
Permission grants the signed-in person benefits from: granted to their Person, their User account, or an organization they belong to. Newest first; expired grants are included with their validity dates.
GET/api/v1/me/lists
List current person ItemLists
POST/api/v1/me/lists
Create ItemList for current person
GET/api/v1/me/lists/{id}
Get ItemList by id
PATCH/api/v1/me/lists/{id}
Update current person ItemList
DELETE/api/v1/me/lists/{id}
Delete current person ItemList
PUT/api/v1/me/lists/sync/{kind}/{id}
Sync Thing/Class/Property membership across owned lists
POST/api/v1/messages
Submit a contact message
POST/api/v1/reports
Submit a report action
GET/api/health
Health check
Liveness probe for containers and uptime monitors.