Skip to content

page-structure-types

Specification Version

Version: "1"

Context and rules

Required for the SubjectRead capability.

Returns paged structure types based on a search term or whether they are subject assignable.

Endpoint specification

  • Name: endpoint-prefix-aireframe-page-structure-types
  • Verb: POST
  • Authentication: Client credentials

Input

  • Format: JSON
  • Schema:
{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"title": "page-structure-types-request",
	"type": "object",
	"properties": {
		"Filter": {
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"SubjectAssignable": {
					"type": [
						"boolean",
						"null"
					]
				},
				"SearchTerm": {
					"type": [
						"null",
						"string"
					]
				}
			}
		},
		"PagingRequest": {
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"After": {
					"type": [
						"null",
						"string"
					],
					"description": "Request items after the node with provided cursor"
				},
				"Before": {
					"type": [
						"null",
						"string"
					],
					"description": "Request items before the node with provided cursor"
				},
				"First": {
					"type": [
						"integer",
						"null"
					],
					"description": "Request the first x items",
					"format": "int32"
				},
				"Last": {
					"type": [
						"integer",
						"null"
					],
					"description": "Request the last x items.",
					"format": "int32"
				},
				"OrderBy": {
					"type": [
						"null",
						"string"
					],
					"description": "Gets the key of the field to order by."
				},
				"OrderDirection": {
					"description": "Gets the direction to order by.",
					"oneOf": [
						{
							"type": "null"
						},
						{
							"type": "string",
							"enum": [
								"Ascending",
								"Descending"
							]
						}
					]
				}
			},
			"required": [
				"After",
				"Before",
				"First",
				"Last",
				"OrderBy",
				"OrderDirection"
			]
		}
	},
	"required": [
		"Filter",
		"PagingRequest"
	]
}
  • Example:
{
	"Filter": {
	    "SearchTerm": null,
	    "SubjectAssignable": true
	},
	"PagingRequest": {
	    "After": null,
	    "Before": null,
	    "First": null,
	    "Last": null,
	    "OrderBy": null,
	    "OrderDirection": null
	}
}

Response

  • Format: JSON
  • Schema:
{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"title": "page-structure-types-response",
	"type": "object",
	"properties": {
		"PageInfo": {
			"type": "object",
			"properties": {
				"HasNextPage": {
					"type": "boolean"
				},
				"HasPreviousPage": {
					"type": "boolean"
				},
				"StartCursor": {
					"type": [
						"null",
						"string"
					]
				},
				"EndCursor": {
					"type": [
						"null",
						"string"
					]
				},
				"TotalCount": {
					"type": "integer",
					"format": "int32"
				}
			},
			"required": [
				"HasNextPage",
				"HasPreviousPage",
				"TotalCount"
			]
		},
		"Edges": {
			"type": "array",
			"items": {
				"required": [
					"Cursor",
					"Node"
				],
				"properties": {
					"Node": {
						"type": "object",
						"properties": {
							"Key": {
								"type": "string"
							},
							"DisplayName": {
								"type": "string"
							},
							"IsSubjectAssignable": {
								"type": "boolean"
							}
							"CustomFields": {
								"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"
											]
										}
									},
									"required": [
										"Key",
										"DisplayName",
										"IsRequired",
										"FieldType"
									]
								}
							}
						},
						"required": [
							"Key",
							"DisplayName",
							"IsSubjectAssignable"
						]
					},
					"Cursor": {
						"type": "string"
					}
				}
			}
		}
	},
	"required": [
		"PageInfo",
		"Edges"
	]
}
  • Example
{
	"PageInfo": {
		"HasNextPage": false,
		"HasPreviousPage": false,
		"StartCursor": "division",
		"EndCursor": "dept",
		"TotalCount": 2
	},
	"Edges": [
		{
			"Node": {
				"Key": "division",
				"DisplayName": "Division",
				"IsSubjectAssignable": true
			},
			"Cursor": "division"
		},
		{
			"Node": {
				"Key": "dept",
				"DisplayName": "Department",
				"IsSubjectAssignable": true
			},
			"Cursor": "dept"
		}
	]
}

Previous versions

None