API Creation Endpoints

The following table lists the admin endpoints and attributes that are available in the Admin API:

Note: 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.

For more information about changes to the Admin API, see the current release notes.

EndpointsDescriptionAttributes
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 the accounts endpoint, see Accounts.
"name": "default account",
"url_name": "default",
"status": "A",
"public_key": null,
"private_key": null
apikeyrolesConnection between apikeys and roles.
"apikey_ident": 2142,
"role_ident": 2052
apikeysThe auth tokens for an API.

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
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 dbasetypes endpoint, 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,
"enabled": true,
"managed_data_capable": true
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
gateways        CA API Gateway integration definition of endpoint.
"name": "CA API Gateway Development Server",
"default_username": "test",
"url": "http://someserver:8657",
"comments": "test",
"account_ident": 1,
"is_active": true
handlersHTTP handlers
"name": "My custom endpoint",
"active": true,
"url_pattern": "special/.*",
"verbs": "GET,",
"code": "if etc...\n",
"comments": null,
"project_ident": 2033
managed_data_servers Used to define a connection url for managed database services (adding databases, tables, columns, and relationships).
"name": "testing_postgres",
"comments": "this is a postgresql comment",
"datasource_name": null,
"url": "jdbc:postgresql://192.168.99.100:5432/postgres",
"catalog_name": null,
"user_name": "postgres",
"password": "password1",
"is_active": true,
"dbasetype_ident": 8,
"account_ident": 1000
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
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
projectsAn API.
"name": "Northwind",
"url_name": "nw",
"comments": "Simple order processing demo",
"status": null,
"is_active": true,
"account_ident": 1000,
"authprovider_ident": 1000
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
resource_typesThe types of resources. You cannot change the resource types.
"ident": 1,
"description": "Normal resource"
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
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
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 change 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