Custom Schema Methods are arbitrarily-named StructrScript methods on a Custom Type. A custom schema method can be executed using a REST call to a special URL, or an Action Button. It is possible to return Nodes and Relationships, not arbitrary Objects (e.g. Strings,Integers,…), from custom schema methods.


Any parameters supplied to the execution of a custom method, either via the HTTP request body or via direct parameter passing in server-side JavaScript execution, can be accessed in the method code using the retrieve() method.

Example Request
 POST /user/0a6a5363df334a638d06669f13975d06/doSomething
{ params: { key1: "value1", key2: value2 } }
Example Parameter Access
    var params = Structr.retrieve('params');


An EMail Example

A method named doSend on an entity called EMail entity can be executed using a POST request to the following URL.


Direct Execution in JavaScript Context

In a serverside JavaScript context, a dynamic schema method can be executed directly on an instance object like this:

var instance = Structr.get('this');
instance.doSend( { name: 'test' } );

Note: Due to its implementation, if the method does not have any parameters, it must still be called with {} as parameter!

Schema methods on static (i.e. hard-coded Java types) are called slightly differently: Here the parameters are given directly and not through a JSON array.

var xmppClient = Structr.get('this');
xmppClient.doJoinChat('', 'nickname', 'password');


Related Articles
About this article
Last change 2017-05-04
Topics Structr 2.0