Skip to content

page-groups

Specification Version

Version: "1"

Context and rules

Required for the SubjectRead capability.

Receives either a group search term or an array of structural entities for which paged group details should be returned.

Endpoint specification

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

Input

  • Format: JSON
  • Schema:
{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"title": "page-groups-input",
	"type": "object",
	"properties": {
		"Filter": {
			"type": "object",
			"properties": {
				"SearchTerm": {
					"type": ["null", "string"]
				},
				"StructuralEntityKeys": {
					"type": ["array", "null"],
					"items": {
						"type": "string"
					}
				}
			},
			"required": [
				"StructuralEntityKeys"
			]
		},
		"PagingRequest": {
			"type": "object",
			"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": "string",
							"enum": [
								"Ascending",
								"Descending"
							]
						},
						{
							"type": "null"
						}
					]					
				}
			},
			"required": [
				"After",
				"Before",
				"First",
				"Last",
				"OrderBy",
				"OrderDirection"
			]
		}
	},
	"required": [
		"Filter",
		"PagingRequest"
	]
}
  • Example:
{
	"Filter": {
	    "SearchTerm": null,
	    "StructuralEntityKeys": ["AAA"]
	},
	"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-groups-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": [
					"Node",
					"Cursor"
				],
				"properties": {
					"Node": {
						"type": "object",
						"properties": {
							"Key": {
								"type": "string"
							},
							"DisplayName": {
								"type": "string"
							},
							"StructuralEntityKeys": {
								"type": "array",
								"items": {
									"type": "string"
								}
							}
						},
						"required": [
							"Key",
							"DisplayName",
							"StructuralEntityKeys"
						]
					},
					"Cursor": {
						"type": "string"
					}
				}
			}
		}
	},
	"required": [
		"PageInfo",
		"Edges"
	]
}
  • Example
{
	"PageInfo": {
		"HasNextPage": false,
		"HasPreviousPage": false,
		"StartCursor": "admin",
		"EndCursor": "admin",
		"TotalCount": 1
	},
	"Edges": [
		{
			"Node": {
				"Key": "admin",
				"DisplayName": "Admin",
				"StructuralEntityKeys": [
					"AAA"
				]
			},
			"Cursor": "admin"
		}
	]
}

Previous versions

None