Skip to content
mxHeadless
REST API gateway for headless frontends on MODX 3. Resources, objects, OpenAPI, API keys, and OAuth
  1. Extras
  2. mxHeadless
  3. API
  4. Schema

Schema

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

No authentication required. The response lists only what code registered. Hidden fields never appear.

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

Format

json
{
  "data": {
    "objects": {
      "resources": {
        "class": "MODX\\Revolution\\modResource",
        "fields": ["id", "pagetitle", "uri"],
        "filterable": ["parent", "published", "deleted"],
        "sortable": ["id", "menuindex", "pagetitle"],
        "searchable": ["pagetitle", "longtitle", "alias", "uri"],
        "required": ["pagetitle"],
        "protected": ["createdby", "editedby"],
        "immutable": ["id", "createdon"],
        "readable": true,
        "creatable": true,
        "updatable": true,
        "deletable": true,
        "relations": []
      }
    }
  },
  "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 capabilities from PHP definitions. OpenAPI describes HTTP paths and status codes. See Swagger and OpenAPI.

See also