Skip to content

get-structural-entities

Specification Version

Version: "1"

Context and rules

Required for the SubjectRead capability.

Returns details of structural entities when an array of structural entity keys is passed in.

The associated structure types should be compatible with the get-structure-types endpoint.

Endpoint specification

  • Name: endpoint-prefix-aireframe-get-structural-entities
  • Verb: POST
  • Authentication: Client credentials

Input

  • Format: JSON
  • Schema:
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "get-structural-entities-input",
  "type": "object",
  "required": [
    "Keys"
  ],
  "properties": {
    "Keys": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
  • Example:
{
	"Keys": [
		"AAB"
	]
}
  • Explanation of properties: Keys is an array of structural entity keys, to retrieve the details of the associated structural entities

Response

  • Format: JSON
  • Schema:
{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"title": "get-structural-entities-response",
	"type": "object",
	"properties": {
		"StructuralEntities": {
			"type": "array",
			"items": {
				"required": [
					"Key",
					"DisplayName",
					"Depth",
                    "StructureType"
				],
				"properties": {
					"Key": {
						"type": "string"
					},
					"DisplayName": {
						"type": "string"
					},
					"StructureType": {
						"type": "object",
						"properties": {
							"Key": {
								"type": "string"
							},
							"DisplayName": {
								"type": "string"
							},
							"IsSubjectAssignable": {
								"type": "boolean"
							}
						},
						"required": [
							"Key",
							"DisplayName",
							"IsSubjectAssignable"
						]
					},
					"Depth": {
						"type": "number"
					},
					"ParentKey": {
                        "type": ["string", "null"]
                    },
					"CustomFieldValues": {
						"type": "array",
						"items": {
							"type": "object",
							"properties": {
								"Key": {
									"type": "string"
								},
								"Name": {
									"type": "string"
								},
								"IsRequired": {
									"type": "boolean"
								},
								"FieldType": {
									"type": "string",
									"enum": [
										"Text",
										"Email",
										"Number",
										"PhoneNumber",
										"DateTime",
										"Date",
										"Time",
										"UserIdentifier"
									]
								},
								"Value": {
									"type": "object",
									"properties": {
										"DataType": {
											"type": "string",
											"enum": [
												"String",
												"Decimal",
												"Integer",
												"DateTime",
												"Date",
												"Time",
												"Boolean"
											]
										},
										"Value": {
											"type": [
												"string",
												"integer",
												"number",
												"boolean",
												"null"
											]
										}
									},
									"required": [
										"DataType"
									]
								}
							},
							"required": [
								"Key",
								"DisplayName",
								"IsRequired",
								"FieldType",
								"Value"
							]
						}
					}
				}
			}
		}
	},
	"required": [
		"StructuralEntities"
	]
}
  • Example
{
	"StructuralEntities": [
		{
			"Key": "AAB",
			"DisplayName": "AAB Department",
			"StructureType": {
				"Key": "dept",
				"DisplayName": "Department",
				"IsSubjectAssignable": true
			},
			"Depth": 1,
			"ParentKey": null
		}
	]
}

Previous versions

None