The connector's rest property defines all REST-specific settings. This includes configuration and authentication settings. These settings are shared by all child objects of crud_objects.


The config object specifies basic REST settings.


Optional. Specifies accepted types:


When not specified, the default is used:


The authentication method used to access the external system.

Possible values:

  • certificate

  • client_credentials

  • basic_auth

  • aeries

You can customize authentication-related user input fields in the connection object.


This option uses a certificate to authenticate with the external system, and produces the following variables:

  • client_id

  • tenant_id

  • certificate <name of the certificate>


For an example, see the Azure AD and Google Workspace connectors.

client credentials

This option uses client credentials to authenticate with the external system, and produces the following variables:

  • tenant_id

  • client_id

  • client_secret


For an example, see the PowerSchool and Skyward Qmlativ connectors.

basic authentication

This option uses basic authentication to authenticate with the external system, and produces the following variables:

  • user_name

  • password


For an example, see the BambooHR connector.


The base URL for all REST requests. For example:


In the last example, the {tenant_id} variable is replaced by the value of the corresponding variable in the connection object.


Specifies the basic connector type. Required. Possible values:

  • azure

  • google

  • generic

For all non- Azure AD and non- Google Workspace systems, use generic.


Contains additional settings for get calls.

"get": {
	"maxPageCount": 999,
	"query_parameters": {}

The default number of result objects per page. Only used by Azure AD and Google systems, and is overridden if you've specified a separate maxPageCount in the schema object. All generic systems (see call_handling) instead use pagination.


Optional. Specifies pagination. Only used by generic systems (see call_handling), not by Azure AD or Google Workspace. If not specified, no paging is used.

Two modes are supported: generic and url.


Used to modify the query_parameters of paged get calls. The params object specifies the query parameters. The value of the parameters can contain the {page_number} variable, which is an incrementing number (1,2,3,…) for each page. The params are evaluated for each page.

"pagination": {
	"mode": "generic",
	"params": {

See the PowerSchool connector for an example.


Changes the URL for subsequent pages. With this method, the first page is requested as follows:

get [start of URL]/1/{page_size}

The external system responds with the page information for the next page.

"pagination": {
	"mode": "url",
	"field": "Paging.Next",
	"page_size": 500

The field property specifies the path of the response that contains the page info. In this example, the result data contains a Paging object that contains the Next property. The value of this property is added to the URL.


See the Skyward Qmlativ connector for an example.


Optional. Can be specified when all get calls share common query parameters.

"query_parameters": {
	"SchoolYearID": "{school_year_id}",
	"FiscalYearId": "{fiscal_year_id}"

The object can contain variables, and typically will.


Optional. Specifies additional query_parameters for get requests, which determine the attributes to be retrieved. Only used by generic systems (see call_handling). Two different modes exist.


The attributes to retrieve are specified as a comma-separated list inside parameter.

"selector": {

The attributes to retrieve are specified as separate query parameters. Each attribute has a parameter name and a parameter value.

"selector": {
	"mode": "array",
	"array": "searchFields"

The array property specifies the name of the parameter. The parameter name includes the index of the array. The parameter value is the name of the attribute. Example: searchFields[12]=Age


For testing the connection with the external system. NIM appends the specified url to baseUrl and executes a REST get call. Success is indicated by a 200 response.

"test_connection": {
	"url": "/ws/v1/district/student/count"


This is an advanced topic and not described in detail here. Contact Tools4ever if you need additional information.

These settings are used to authenticate the NIM service against the external system. The authentication options depend on the authentication setting.

The best way to configure these settings in your custom connector is to copy the authOptions of a connector with the same type of authentication, and modify the settings as needed.