Skip to content
  1. Extras
  2. mxHeadless
  3. API
  4. Schema

Schema ​

GET /api/v1/schema returns objects from ObjectRegistry after startup. Clients use it to learn public names, fields, and allowed mutations on this install.

No authentication required. The response lists only what code registered. hiddenFields stay in schema fields. The serializer strips them from JSON responses.

bash
curl -s https://example.com/api/v1/schema

Format ​

json
{
  "data": {
    "objects": {
      "resources": {
        "class": "MODX\\Revolution\\modResource",
        "fields": ["id", "pagetitle", "longtitle", "alias", "uri", "content", "published", "parent", "template", "properties"],
        "filterable": ["id", "parent", "published", "deleted", "alias", "hidemenu", "template"],
        "sortable": ["id", "menuindex", "pagetitle", "createdon", "editedon", "publishedon"],
        "searchable": ["pagetitle", "longtitle", "description", "introtext", "alias", "uri"],
        "required": ["pagetitle"],
        "protected": ["createdby", "editedby", "deletedby", "publishedby"],
        "immutable": ["id", "createdon", "createdby", "editedon", "editedby", "deletedon"],
        "readable": true,
        "creatable": true,
        "updatable": true,
        "deletable": true,
        "relations": [
          { "name": "parent", "target": "resources", "type": "to_one" },
          { "name": "children", "target": "resources", "type": "to_many" }
        ]
      }
    }
  },
  "meta": {
    "count": 1
  }
}
KeyMeaning
fieldsFields that may appear in responses when permitted
filterableFields for filter[field][op]
sortableFields for sort
searchableFields for query parameter q
requiredRequired on create, cannot be cleared on update
protectedNeeds field-level write permission
immutableExplicit write returns 422
readable / creatable / updatable / deletableFlags from ObjectDefinition
relationsIncludes for include= (name, target, type)

Extras add entries in OnMxHeadlessRegister. Before core bootstrap, count may be 0.

Schema vs OpenAPI ​

Schema describes objects and query parameters from PHP definitions. OpenAPI describes HTTP paths and status codes. See Swagger and OpenAPI.

See also ​