Skip to main content

get /graph-structure

Get graph structure

Returns metadata about the graph structure and its node and relation types.

Note: This endpoint shares the instanceConfiguration.enabled configuration option with the GET /instance-configuration endpoint and can therefore be disabled by the administrator, in which case a 403 Forbidden response is returned instead.

Request

curl \
-H 'Authorization: Bearer secret-token:PIPeJGUt7c00ENn8a5uDlc' \
https://api.example.com/graph-structure
import requests
url = "https://api.example.com/graph-structure"
headers = {"Authorization": "Bearer secret-token:PIPeJGUt7c00ENn8a5uDlc"}
response = requests.get(url, headers=headers)
print(response.json())
const url = 'https://api.example.com/graph-structure';
const options = {
method: 'GET',
headers: {Authorization: 'Bearer secret-token:PIPeJGUt7c00ENn8a5uDlc'}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.example.com/graph-structure', [
'headers' => [
'Authorization' => 'Bearer secret-token:PIPeJGUt7c00ENn8a5uDlc',
],
]);
echo $response->getBody();

Response

200 · OK

Returns the node and relation types currently present in the graph.

401 · Unauthorized

The provided token is either invalid or expired.

403 · Forbidden

The endpoint has been disabled by the instance’s administrator (instanceConfiguration.enabled set to false).

{
"nodeTypes": [
"Collection",
"Comment",
"Data",
"Group",
"Location",
"Tag",
"Token",
"User"
],
"relationTypes": [
"HAS_READ_ACCESS",
"HAS_SEARCH_ACCESS",
"HAS_TAG",
"IS_IN_GROUP",
"IS_MEMBER_OF",
"OWNS",
"RELATED"
]
}
Access-Control-Allow-Headers: Authorization, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method
Access-Control-Allow-Methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag, Location
Allow: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK
Cache-Control: no-cache, private
X-Powered-By: Ember Nexus API
{
"type": "object",
"description": "The node and relation types currently present in the graph.",
"required": [
"nodeTypes",
"relationTypes"
],
"properties": {
"nodeTypes": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"Collection",
"Comment",
"Data",
"Group",
"Location",
"Tag",
"Token",
"User"
]
},
"relationTypes": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"HAS_READ_ACCESS",
"HAS_SEARCH_ACCESS",
"HAS_TAG",
"IS_IN_GROUP",
"IS_MEMBER_OF",
"OWNS",
"RELATED"
]
}
}
}
{
"type": "https://api.example.com/error/401/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Authorization for the request failed due to possible problems with the token (incorrect or expired), password (incorrect or changed), the user's unique identifier, or the user's status (e.g., missing, blocked, or deleted)."
}
Access-Control-Allow-Headers: Authorization, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method
Access-Control-Allow-Methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag, Location
Allow: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK
Cache-Control: no-cache, private
X-Powered-By: Ember Nexus API
{
"$schema": "https://spec.openapis.org/oas/3.0/schema/2021-09-28#/definitions/Schema",
"type": "object",
"description": "RFC 7807 Problem Details object.",
"properties": {
"type": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
},
"status": {
"type": "integer"
},
"detail": {
"type": "string"
}
}
}
{
"type": "https://api.example.com/error/403/forbidden",
"title": "Forbidden",
"status": 403,
"detail": "Requested endpoint, element or action is forbidden."
}
Access-Control-Allow-Headers: Authorization, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method
Access-Control-Allow-Methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag, Location
Allow: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK
Cache-Control: no-cache, private
X-Powered-By: Ember Nexus API
{
"$schema": "https://spec.openapis.org/oas/3.0/schema/2021-09-28#/definitions/Schema",
"type": "object",
"description": "RFC 7807 Problem Details object.",
"properties": {
"type": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
},
"status": {
"type": "integer"
},
"detail": {
"type": "string"
}
}
}

Request Header

Authorization

optional

Bearer token for user authentication. If omitted, the request is processed as an anonymous user; if provided, the associated user account is used.

Response Header

Access-Control-Allow-Headers

always

Specifies which HTTP headers can be used during a cross-origin request, returned in preflight responses.

Access-Control-Allow-Methods

always

Indicates which HTTP methods are permitted for cross-origin requests, typically returned in preflight responses.

Access-Control-Allow-Origin

always

Specifies which origin(s) may access the resource.

Access-Control-Expose-Headers

always

Lists the response headers that browsers are allowed to access from JavaScript beyond the default restricted set.

Allow

always

Lists the HTTP methods supported by the endpoint; returned alongside a 405 Method Not Allowed response.

Cache-Control

always

Directives controlling caching behavior for the response.

X-Powered-By

always

Identifies the underlying API implementation.