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 (151)
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}/schema
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}/schema
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}/schema
Get classes property JSON Schema
GET/api/v1/classes/{class}/properties/{property}/types/{type}/schema
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}/schema
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}/schema
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}/schema
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}/schema
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 ItemLists
POST/api/v1/item-lists
Create ItemList
GET/api/v1/item-lists/collections
List ItemList collection classes
GET/api/v1/item-lists/containing
List ItemLists containing an element
POST/api/v1/item-lists/sync
Sync element membership across ItemLists
GET/api/v1/item-lists/{id}
Get ItemList
PUT/api/v1/item-lists/{id}
Update ItemList
DELETE/api/v1/item-lists/{id}
Delete ItemList
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}/schema
Get standalone property JSON Schema
GET/api/v1/properties/{property}/types/{type}/schema
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.
POST/api/v1/me/permissions
Request access to a class
Creates an expired permission with no validFrom. classId alone requests Write on that class. classId plus propertyId requests Read on that class property. Repeating the request returns the existing request.
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 ItemLists
POST/api/v1/messages
Submit a contact message
POST/api/v1/reports
Submit a report action
GET/api/v1/web-pages
JSON-LD for the public site root
schema.org WebSite document. Section links point at other /api/v1/web-pages documents.
GET/api/v1/web-pages/{path}
JSON-LD for a public website page
Same page document the HTML script embeds, with traversal links rewritten to /api/v1/web-pages. path is the website pathname without a leading slash, for example classes/schema.org:Article/objects.
GET/api/health
Health check
Liveness probe for containers and uptime monitors.