Admin API Reference

The following table lists the admin endpoints and attributes that available in the admin API. Some endpoints (such as rules and resources) are non-obvious. To give you guidance, we recommend you create them using API Creator and then look at them in the API. The ident and ts attributes are excluded from the table but are present in all cases except where noted. Required attributes are in bold. Unused attributes are in italics.

Note: This API is expected to stay fairly stable, but changes can occur. Changes to the admin API are documented in the release notes.
Endpoints Description Attributes
accountsMost installations have only one account, but multi-tenant installations will have more than one.

Only the sa user can create, modify, and delete accounts.

For more information about accounts, see Accounts.
"name": "default account",
"url_name": "default",
"status": "A",
"public_key": null,
"private_key": null
apikeysThe auth tokens for an API/project.

For more information about auth tokens, see Auth Tokens.
"name": "Bob's key",
"description": "Auth token for Bob",
"apikey": "UED8gvCScR0ahxGQ1d9N",
"status": "A",
"expiration": "2015-11-26T21:27:44.709Z",
"logging": "*=FINE",
"user_identifier": "bob",
"data": "username=bob",
"origin": "A",
"project_ident": 2022
 apikeyrolesConnection between apikeys and roles.
"apikey_ident": 2142,
"role_ident": 2052
 apiversionsAPI versions.

For more information about API versions, see API versions.
"name": "v1",
"comments": "Version 1 of my API",
"project_ident": 2022
 authprovidersAuthentication providers.
"name": "Built-in authentication",
"comments": null,
"auth_type_ident": 1,
"class_name": "com.acme.AuthProvider",
"bootstrap_config_value": null,
"class_location": "",
"param_map": "datasource=AdminDB",
"account_ident": 1000
 dbaseschemasConnection to a database.
"conn_type": null,
"prefix": "nw",
"name": "Database: Derby - Northwind",
"comments": "Northwind db",
"datasource_name": null,
"url": "jdbc:derby:Northwind",
"catalog_name": null,
"schema_name": null,
"user_name": "Northwind",
"password": "2:nZkkWa3wn1n7ORL...l1g==",
"salt": "ei2Eh8Pq/d62gq...1u2CV1",
"port_num": null,
"read_only": null,
"schema_editable": null,
"admin_url": null,
"active": true,
"status": null,
"project_ident": 2022,
"dbasetype_ident": 17
 dbasetypesSupported database types. You cannot change the database types.

For more information about database types, see dbasetypes.
"name": "MySQL",
"description": "MySQL Database",
"version_name": "All versions",
"driver_class_name_list": "com.mysql.jdbc.Driver",
"catalog_term": "Database",
"schema_term": null,
"url_prototype": "jdbc:mysql://<host>:<port>/<db>",
"driver_help": null
 eventhandlersResource event handlers.
"name": "Inject metadata tags",
"description": null,
"code": "if etc...\n",
"active": true,
"enabled_verbs": null,
"resource_name_pattern": null,
"eventtype_ident": 1,
"code_type": null,
"project_ident": 2025
handlersHTTP handlers
"name": "My custom endpoint",
"active": true,
"url_pattern": "special/.*",
"verbs": "GET,",
"code": "if etc...\n",
"comments": null,
"project_ident": 2033
named_filtersNamed filters, created to handle complex queries without risking a SQL injection.
"name": "My filter",
"description": "Yadda yadda",
"resource_names": "customers",
"filter_text": "balance < {bal}",
"project_ident": 2033
named_sortsNamed sorts, created to provide complex sorting without risking a SQL injection.
"name": "My sort",
"description": "Desc here",
"resource_names": "customers",
"sort_text": "round(balance)",
"project_ident": 2033
permissiondataAdditional data attached to roles.
"name": "Data",
"description": "Employee number",
"prefix": "cust",
"query": "select empno from etc...",
"query_order": 1,
"required": true,
"code_type": "SQL",
"role_ident": 2075
projectsAn API project.
"name": "Northwind",
"url_name": "nw",
"comments": "Simple order processing demo",
"status": null,
"is_active": true,
"account_ident": 1000,
"authprovider_ident": 1000
 projectoptionsThe options for an API.
"option_value": "20",
"project_ident": 2022,
"projectoptiontype_ident": 7
 projectoptiontypesThe possible types for projectoptions. You cannot change this type.
"name": "HTTPS only",
"data_type": "boolean",
"description": "Yadda yadda.",
"default_value": "false",
"valid_values": null,
"system_only": false
 relationshipsVirtual foreign keys between tables (potentially in different databases).
"name": "Between customers and orders",
"parent_entity_name": "cust:customers",
"child_entity_name": "cust:orders",
"role_to_child": "orders",
"role_to_parent": "customer",
"parent_columns": "cust_no",
"child_columns": "customer_no",
"update_rule": "R",
"delete_rule": "R",
"comments": "Yadda",
"project_ident": 2033
resourcesA resource that can be part of a resource tree.
"resource_type_ident": 1,
"prefix": "nw",
"table_name": "Customers",
"name": "CustomersWithOrders",
"description": "Customers with orders",
"is_collection": "Y",
"join_condition": null,
"filter": null,
"sorting": "\"CompanyName\" asc",
"attach_path": null,
"caching": null,
"custom_class": null,
"code_text": null,
"filter_code": null,
"serial_filter": null,
"prop1": null,
"prop2": null,
"prop3": null,
"prop4": null,
"prop5": null,
"container_ident": null,
"sibling_rank": 100,
"root_ident": null,
"linked_ident": null,
"apiversion_ident": 2022
resourceattributesAn attribute in a resource. If a resource has none of these, then it is assumed that all columns for its table should be included in the resource.
"name": "ID",
"description": null,
"column_name": "CustomerID",
"format": null,
"formula": null,
"is_defined_key_part": false,
"resource_ident": 2070,
"code_type": null
resource_typesThe types of resources. You cannot change the resource types.
"ident": 1,
"description": "Normal resource"
rolesThe security roles defined as part of an API.
"name": "Full access",
"description": "Full access to this API",
"default_permission": "A",
"default_apivisibility": "TVPRM",
"project_ident": 2022
rulesA logic rule for an API.
"entity_name": "nw:Customers",
"attribute_name": null,
"prop1": null,
"prop2": null,
"prop3": null,
"prop4": "javascript",
"prop5": null,
"rule_text1": "return etc...;",
"rule_text2": "Transaction cannot be etc...",
"rule_text3": null,
"rule_text4": null,
"rule_text5": null,
"predicate": null,
"name": "",
"auto_name": "Validation etc...",
"verbs": null,
"comments": "Yadda yadda",
"active": true,
"project_ident": 2022,
"ruletype_ident": 5
ruletypesThe types of rules. You cannot the rule types.
"name": "sum",
"method": null,
"template": "Derive etc...",
"short_desc": "sum child attr into parent",
"description_url": null,
"ruleexecutiontype_ident": 1,
"isCore": null
tablepermissionsPermission for one table for one role.
"name": "My Regions Customer",
"description": "Yadda yadda",
"entity_name": "nw:Customers",
"column_names": null,
"predicate": "\"Region\" = '@{UserRegion}'",
"access_type": "A",
"role_ident": 2054
topicsTopics for rules.
"name": "Customer creation",
"color": "#a4fcc6",
"summary": "Yadda yadda",
"description": "HTML code here",
"project_ident": 2031
usersUsers for the default authentication provider.
"name": "bob",
"fullname": "Bob Newhart",
"email": "bob@acme.com",
"status": "A",
"roles": "Customer rep,",
"data": "empId=1234",
"comments": "Yadda",
"apikey_lifespan": null,
"password_hash": "thCQL0ADu2...ZQ==",
"password_salt": "MSUVe...BmCqQ==",
"project_ident": 3