This document describes the REST API endpoints for LiteGraph Server.
For client SDK libraries that wrap this API, see the sdk/ directory:
- C# SDK - NuGet package
LiteGraph.Sdk - Python SDK - PyPI package
litegraph-sdk - JavaScript SDK - npm package
litegraphdb
Users can authenticate API requests in one of three ways.
A bearer token can be supplied in the Authorization header, i.e. Authorization: Bearer {token}. This bearer token can either be from a Credential object mapped to a user by GUID, or, the administrator bearer token defined in litegraph.json.
The user's email, password, and tenant GUID can be passed in as headers using x-email, x-password, and x-tenant-guid. This method does not work for administrative API calls, as the administrator is only defined by bearer token in litegraph.json.
Temporal security tokens can be generated for regular users (not for the administrator). These security tokens expire after 24 hours, and can be used in the x-token header as an alternative to using bearer tokens or credentials.
To generate a security token, set the x-email, x-password, and x-tenant-guid headers, and call GET /v1.0/token. The result will look as follows:
{
"TimestampUtc": "2025-01-30T22:54:41.963425Z",
"ExpirationUtc": "2025-01-31T22:54:41.963426Z",
"IsExpired": false,
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"UserGUID": "00000000-0000-0000-0000-000000000000",
"Token": "mXCNtMWDsW0/pr+IwRFUje2n5Z9/qDGprgAY26bz4KYoJOUyufkzkzfK+Kiq0iv/PsZkzwewIXsuCMkpqJbsMJFMd94fyt8LLHr4CL0NMn1etyK7AC+uLH/xUqVnP+Jdww8LhEV2ly3gx27h91fiXMT60ScKNM772o3zq1WUkD1yBL1MCcZsUkHXQw3ZiP4EsFoZ6oxqquwN+/cRZROKXAbPWvArwcDNIIz9vnBvcvjDJYVCz/LiPq5BXIHtzSP7QffBqiZtttEaql8LIu17c9ms02N2mB/nyF0FF6U97ay1Vbo0V/0/akiRnieOKGYCOjiJBuU1kZ28uiDj1pENpzS1GUqkt5HqK44Jl4LtIco=",
"Valid": true
}
The value found in Token can then be used when making API requests to LiteGraph, by adding the x-token header with the value, i.e.
GET /v1.0/tenants/00000000-0000-0000-0000-000000000000/graphs
x-token: mXCNtMWDsW0/pr+IwRFUje2...truncated...4Jl4LtIco=
To retrieve the details of a token and to verify it has not expired, call GET /v1.0/token/details with the x-token header set.
GET /v1.0/token/details
x-token: mXCNtMWDsW0/pr+IwRFUje2...truncated...4Jl4LtIco=
Response:
{
"TimestampUtc": "2025-01-30T14:54:41.963425Z",
"ExpirationUtc": "2025-01-31T14:54:41.963426Z",
"IsExpired": false,
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"UserGUID": "00000000-0000-0000-0000-000000000000",
"Valid": true
}
If you do not know the tenant GUID ahead of time, use the API to retrieve tenants for a given email by calling GET /v1.0/token/tenants with the x-email header set. It will return the list of tenants associated with the supplied email address.
GET /v1.0/token/tenants
x-email: default@user.com
Response:
[
{
"GUID": "00000000-0000-0000-0000-000000000000",
"Name": "Default tenant",
"Active": true,
"CreatedUtc": "2025-02-06T18:22:56.789353Z",
"LastUpdateUtc": "2025-02-06T18:22:56.788994Z"
}
]
{
"Filename": "my-backup.db",
"Length": 352256,
"MD5Hash": "EF2A390E654BCFE3052DAF7364037DBE",
"SHA1Hash": "74625881C00FEF2E654AB9B800A0C8E23CC7CBB0",
"SHA256Hash": "584F2D85362F7E7B9755DF7A363120E6FF8F93A162E918E7085C795021D14DCF",
"CreatedUtc": "2025-05-27T03:31:10.904886Z",
"LastUpdateUtc": "2025-05-27T03:31:10.909897Z",
"LastAccessUtc": "2025-05-27T03:31:13.634489Z",
"Data": "... base64 data ..."
}
{
"Ordering": "CreatedDescending",
"IncludeData": true,
"IncludeSubordinates": true,
"MaxResults": 5,
"ContinuationToken": null,
"Labels": [ ],
"Tags": { },
"Expr": { }
}
{
"Success": true,
"Timestamp": {
"Start": "2025-06-22T01:17:42.984885Z",
"End": "2025-06-22T01:17:43.066948Z",
"TotalMs": 82.06,
"Messages": {}
},
"MaxResults": 5,
"ContinuationToken": "ca10f6ca-f4c2-4040-adfe-9de3a81b9f55",
"EndOfResults": false,
"TotalRecords": 17,
"RecordsRemaining": 12,
"Objects": [
{
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"GUID": "ebefc55b-6f74-4997-8c87-e95e40cb83d3",
"GraphGUID": "00000000-0000-0000-0000-000000000000",
"Name": "Active Directory",
"CreatedUtc": "2025-06-21T05:23:14.100128Z",
"LastUpdateUtc": "2025-06-21T05:23:14.100128Z",
"Labels": [],
"Tags": {},
"Data": {
"Name": "Active Directory"
},
"Vectors": []
}, ...
]
}
{
"00000000-0000-0000-0000-000000000000": {
"Graphs": 1,
"Nodes": 17,
"Edges": 22,
"Labels": 0,
"Tags": 0,
"Vectors": 0
}, ...
}
{
"Graphs": 1,
"Nodes": 17,
"Edges": 22,
"Labels": 0,
"Tags": 0,
"Vectors": 0
}
{
"00000000-0000-0000-0000-000000000000": {
"Nodes": 17,
"Edges": 22,
"Labels": 0,
"Tags": 0,
"Vectors": 0
}
}
{
"Nodes": 17,
"Edges": 22,
"Labels": 0,
"Tags": 0,
"Vectors": 0
}
{
"GUID": "00000000-0000-0000-0000-000000000000",
"Name": "Default tenant",
"Active": true,
"CreatedUtc": "2024-12-27T22:09:09.410802Z",
"LastUpdateUtc": "2024-12-27T22:09:09.410168Z"
}
{
"GUID": "00000000-0000-0000-0000-000000000000",
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"FirstName": "Default",
"LastName": "User",
"Email": "default@user.com",
"Password": "password",
"Active": true,
"CreatedUtc": "2024-12-27T22:09:09.446911Z",
"LastUpdateUtc": "2024-12-27T22:09:09.446777Z"
}
{
"GUID": "00000000-0000-0000-0000-000000000000",
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"UserGUID": "00000000-0000-0000-0000-000000000000",
"Name": "Default credential",
"BearerToken": "default",
"Active": true,
"CreatedUtc": "2024-12-27T22:09:09.468134Z",
"LastUpdateUtc": "2024-12-27T22:09:09.467977Z"
}
{
"GUID": "738d4956-a833-429a-9531-c99336638617",
"TenantGUID": "ba1dc0a6-372d-47ee-aea5-75e7dbbbd175",
"GraphGUID": "97826e1a-d0c1-4884-820a-bfda74b3be33",
"EdgeGUID": "971da046-8234-4627-8ae8-e062311874c8",
"Label": "edge",
"CreatedUtc": "2025-01-08T23:28:05.312128Z",
"LastUpdateUtc": "2025-01-08T23:28:05.312128Z"
}
{
"GUID": "00000000-0000-0000-0000-000000000000",
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"GraphGUID": "00000000-0000-0000-0000-000000000000",
"NodeGUID": "00000000-0000-0000-0000-000000000000",
"EdgeGUID": "00000000-0000-0000-0000-000000000000",
"Key": "mykey",
"Value": "myvalue",
"CreatedUtc": "2024-12-27T22:14:36.459901Z",
"LastUpdateUtc": "2024-12-27T22:14:36.459902Z"
}
{
"GUID": "00000000-0000-0000-0000-000000000000",
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"GraphGUID": "00000000-0000-0000-0000-000000000000",
"NodeGUID": "00000000-0000-0000-0000-000000000000",
"EdgeGUID": "00000000-0000-0000-0000-000000000000",
"Model": "testmodel",
"Dimensionality": 3,
"Content": "test content",
"Vectors": [ 0.05, -0.25, 0.45 ],
"CreatedUtc": "2025-01-15T10:41:13.243174Z",
"LastUpdateUtc": "2025-01-15T10:41:13.243188Z"
}
{
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"GUID": "00000000-0000-0000-0000-000000000000",
"Name": "My test graph",
"Labels": [ "test" ],
"Tags": {
"Key": "Value"
},
"Data": {
"Hello": "World"
},
"Vectors": [
{
"GUID": "00000000-0000-0000-0000-000000000000",
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"GraphGUID": "00000000-0000-0000-0000-000000000000",
"NodeGUID": "00000000-0000-0000-0000-000000000000",
"EdgeGUID": "00000000-0000-0000-0000-000000000000",
"Model": "testmodel",
"Dimensionality": 3,
"Content": "test content",
"Vectors": [ 0.05, -0.25, 0.45 ],
"CreatedUtc": "2025-01-15T10:41:13.243174Z",
"LastUpdateUtc": "2025-01-15T10:41:13.243188Z"
}
],
"CreatedUtc": "2024-07-01 15:43:06.991834"
}
{
"VectorIndexType": "HnswSqlite",
"VectorIndexFile": "graph-00000000-0000-0000-0000-000000000000-hnsw.db",
"VectorIndexThreshold": null,
"VectorDimensionality": 384,
"VectorIndexM": 16,
"VectorIndexEf": 50,
"VectorIndexEfConstruction": 200
}
{
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"GUID": "11111111-1111-1111-1111-111111111111",
"GraphGUID": "00000000-0000-0000-0000-000000000000",
"Name": "My test node",
"Labels": [ "test" ],
"Tags": {
"Key": "Value"
},
"Data": {
"Hello": "World"
},
"Vectors": [
{
"GUID": "00000000-0000-0000-0000-000000000000",
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"GraphGUID": "00000000-0000-0000-0000-000000000000",
"NodeGUID": "00000000-0000-0000-0000-000000000000",
"EdgeGUID": "00000000-0000-0000-0000-000000000000",
"Model": "testmodel",
"Dimensionality": 3,
"Content": "test content",
"Vectors": [ 0.05, -0.25, 0.45 ],
"CreatedUtc": "2025-01-15T10:41:13.243174Z",
"LastUpdateUtc": "2025-01-15T10:41:13.243188Z"
}
],
"CreatedUtc": "2024-07-01 15:43:06.991834"
}
{
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"GUID": "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF",
"GraphGUID": "00000000-0000-0000-0000-000000000000",
"Name": "My test edge",
"From": "11111111-1111-1111-1111-111111111111",
"To": "22222222-2222-2222-2222-222222222222",
"Cost": 10,
"Labels": [ "test" ],
"Tags": {
"Key": "Value"
},
"Data": {
"Hello": "World"
},
"Vectors": [
{
"GUID": "00000000-0000-0000-0000-000000000000",
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"GraphGUID": "00000000-0000-0000-0000-000000000000",
"NodeGUID": "00000000-0000-0000-0000-000000000000",
"EdgeGUID": "00000000-0000-0000-0000-000000000000",
"Model": "testmodel",
"Dimensionality": 3,
"Content": "test content",
"Vectors": [ 0.05, -0.25, 0.45 ],
"CreatedUtc": "2025-01-15T10:41:13.243174Z",
"LastUpdateUtc": "2025-01-15T10:41:13.243188Z"
}
],
"CreatedUtc": "2024-07-01 15:43:06.991834"
}
{
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"Graph": "00000000-0000-0000-0000-000000000000",
"From": "11111111-1111-1111-1111-111111111111",
"To": "22222222-2222-2222-2222-222222222222",
"NodeFilter": null,
"EdgeFilter": null,
}
{
"Nodes": [
"[guid1]",
"[guid2]",
...
],
"Edges": [
"[guid1]",
"[guid2]",
...
],
"EdgesBetween": [
{
"From": "[fromguid]",
"To": "[toguid]"
},
...
]
}
{
"ExistingNodes": [
"[guid1]",
"[guid2]",
...
],
"MissingNodes": [
"[guid1]",
"[guid2]",
...
],
"ExistingEdges": [
"[guid1]",
"[guid2]",
...
],
"MissingEdges": [
"[guid1]",
"[guid2]",
...
],
"ExistingEdgesBetween": [
{
"From": "[fromguid]",
"To": "[toguid]"
},
...
],
"MissingEdgesBetween": [
{
"From": "[fromguid]",
"To": "[toguid]"
},
...
]
}
{
"GraphGUID": "00000000-0000-0000-0000-000000000000",
"Domain": "Node",
"SearchType": "CosineSimilarity",
"Labels": [],
"Tags": {},
"Expr": null,
"TopK": 10,
"MinimumScore": 0.1,
"MaximumDistance": 100,
"MinimumInnerProduct": 0.1,
"Embeddings": [ 0.1, 0.2, 0.3 ]
}
Valid domains are Graph Node Edge
Valid search types are CosineSimilarity CosineDistance EuclidianSimilarity EuclidianDistance DotProduct
[
{
"Score": 0.874456,
"Distance": null,
"InnerProduct": null,
"Graph": { ... },
"Node": { ... },
"Edge": { ... }
},
...
]
Native graph queries execute within one tenant and one graph. See DSL.md for the supported syntax, parameter rules, result metadata, mutation behavior, and examples.
{
"Query": "MATCH (n:Person) WHERE n.data.role = $role RETURN n LIMIT 10",
"Parameters": {
"role": "engineer"
},
"MaxResults": 100,
"TimeoutSeconds": 30,
"IncludeProfile": false
}
Read-only queries require read permission. Mutation queries require write permission.
{
"Success": true,
"Mutated": false,
"RowCount": 1,
"Rows": [
{
"n": {
"GUID": "00000000-0000-0000-0000-000000000000",
"Name": "Ada"
}
}
],
"Objects": [],
"Plan": {
"Kind": "Read",
"UsesVectorSearch": false,
"Mutates": false
},
"ExecutionProfile": null
}
Graph transactions execute atomically inside one tenant and one graph. See TRANSACTIONS.md for the complete operation model.
{
"Operations": [
{
"Operation": "Create",
"ObjectType": "Node",
"Object": {
"Name": "Ada",
"Data": {
"role": "mathematician"
}
}
}
],
"MaxOperations": 100,
"TimeoutSeconds": 30
}
{
"Success": true,
"RolledBack": false,
"FailedOperationIndex": null,
"ErrorMessage": null,
"Results": [
{
"Success": true,
"OperationIndex": 0,
"ObjectType": "Node",
"ObjectGUID": "00000000-0000-0000-0000-000000000000",
"Object": { }
}
]
}
{
"GUID": "00000000-0000-0000-0000-000000000000",
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"Name": "GraphReader",
"Description": "Read-only graph access",
"BuiltIn": false,
"Immutable": false,
"Permissions": [ "Read" ],
"ResourceTypes": [ "Graph", "Node", "Edge", "Label", "Tag", "Vector", "Query" ],
"ResourceScope": "Graph",
"InheritToGraphs": false
}
{
"GUID": "00000000-0000-0000-0000-000000000000",
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"UserGUID": "00000000-0000-0000-0000-000000000000",
"RoleGUID": "00000000-0000-0000-0000-000000000000",
"GraphGUID": "00000000-0000-0000-0000-000000000000",
"Active": true
}
{
"GUID": "00000000-0000-0000-0000-000000000000",
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"CredentialGUID": "00000000-0000-0000-0000-000000000000",
"RoleGUID": "00000000-0000-0000-0000-000000000000",
"GraphGUID": "00000000-0000-0000-0000-000000000000",
"Permissions": [ "Read" ],
"ResourceTypes": [ "Graph", "Node", "Edge", "Query" ],
"Active": true
}
| API | Method | URL |
|---|---|---|
| Validate connectivity | HEAD | / |
| Server information | GET | / |
| Prometheus metrics | GET | /metrics |
The metrics route is registered only when observability and Prometheus are enabled. It is intentionally unauthenticated in v6.0.0 and should be protected by network policy or a reverse proxy when exposed outside trusted networks.
Admin APIs require administrator bearer token authentication.
| API | Method | URL |
|---|---|---|
| Flush in-memory database to disk | POST | /v1.0/flush |
Backup APIs require administrator bearer token authentication.
| API | Method | URL |
|---|---|---|
| Create | POST | /v1.0/backups |
| Read many | GET | /v1.0/backups |
| Read | GET | /v1.0/backups/[guid] |
| Delete | DELETE | /v1.0/backups/[guid] |
| Exists | HEAD | /v1.0/backups/[guid] |
Tenant APIs require administrator bearer token authentication.
When specifying multiple GUIDs to retrieve, i.e. ?guids=..., use a comma-separated list of values, i.e. ?guids=00000000-0000-0000-0000-000000000000,11111111-1111-1111-1111-111111111111.
| API | Method | URL |
|---|---|---|
| Create | PUT | /v1.0/tenants |
| Update | PUT | /v1.0/tenants/[guid] |
| Read many | GET | /v1.0/tenants |
| Read many | GET | /v1.0/tenants?guids=... |
| Read | GET | /v1.0/tenants/[guid] |
| Delete | DELETE | /v1.0/tenants/[guid] |
| Delete w/ cascade | DELETE | /v1.0/tenants/[guid]?force |
| Exists | HEAD | /v1.0/tenants/[guid] |
User APIs require administrator bearer token authentication.
| API | Method | URL |
|---|---|---|
| Create | PUT | /v1.0/tenants/[guid]/users |
| Update | PUT | /v1.0/tenants/[guid]/users/[guid] |
| Read many | GET | /v1.0/tenants/[guid]/users |
| Read many | GET | /v1.0/tenants/[guid]/users?guids=... |
| Read | GET | /v1.0/tenants/[guid]/users/[guid] |
| Delete | DELETE | /v1.0/tenants/[guid]/users/[guid] |
| Exists | HEAD | /v1.0/tenants/[guid]/users/[guid] |
Credential APIs require administrator bearer token authentication.
| API | Method | URL |
|---|---|---|
| Create | PUT | /v1.0/tenants/[guid]/credentials |
| Update | PUT | /v1.0/tenants/[guid]/credentials/[guid] |
| Read many | GET | /v1.0/tenants/[guid]/credentials |
| Read many | GET | /v1.0/tenants/[guid]/credentials?guids=... |
| Read | GET | /v1.0/tenants/[guid]/credentials/[guid] |
| Read by bearer token | GET | /v1.0/credentials/bearer/[bearerToken] |
| Delete | DELETE | /v1.0/tenants/[guid]/credentials/[guid] |
| Delete all in tenant | DELETE | /v1.0/tenants/[guid]/credentials |
| Delete by user | DELETE | /v1.0/tenants/[guid]/users/[guid]/credentials |
| Exists | HEAD | /v1.0/tenants/[guid]/credentials/[guid] |
Authorization APIs require an administrator bearer token or an authenticated user/credential with an effective admin grant for the requested scope. Built-in roles are readable but immutable.
| API | Method | URL |
|---|---|---|
| Create role | PUT | /v1.0/tenants/[tenantGuid]/roles |
| Read roles | GET | /v1.0/tenants/[tenantGuid]/roles |
| Read role | GET | /v1.0/tenants/[tenantGuid]/roles/[roleGuid] |
| Update role | PUT | /v1.0/tenants/[tenantGuid]/roles/[roleGuid] |
| Delete role | DELETE | /v1.0/tenants/[tenantGuid]/roles/[roleGuid] |
| Assign user role | PUT | /v1.0/tenants/[tenantGuid]/users/[userGuid]/roles |
| Read user role assignments | GET | /v1.0/tenants/[tenantGuid]/users/[userGuid]/roles |
| Read user role assignment | GET | /v1.0/tenants/[tenantGuid]/users/[userGuid]/roles/[assignmentGuid] |
| Update user role assignment | PUT | /v1.0/tenants/[tenantGuid]/users/[userGuid]/roles/[assignmentGuid] |
| Delete user role assignment | DELETE | /v1.0/tenants/[tenantGuid]/users/[userGuid]/roles/[assignmentGuid] |
| Read user effective permissions | GET | /v1.0/tenants/[tenantGuid]/users/[userGuid]/permissions |
| Assign credential scope | PUT | /v1.0/tenants/[tenantGuid]/credentials/[credentialGuid]/scopes |
| Read credential scope assignments | GET | /v1.0/tenants/[tenantGuid]/credentials/[credentialGuid]/scopes |
| Read credential scope assignment | GET | /v1.0/tenants/[tenantGuid]/credentials/[credentialGuid]/scopes/[assignmentGuid] |
| Update credential scope assignment | PUT | /v1.0/tenants/[tenantGuid]/credentials/[credentialGuid]/scopes/[assignmentGuid] |
| Delete credential scope assignment | DELETE | /v1.0/tenants/[tenantGuid]/credentials/[credentialGuid]/scopes/[assignmentGuid] |
| Read credential effective permissions | GET | /v1.0/tenants/[tenantGuid]/credentials/[credentialGuid]/permissions |
See RBAC.md for role definitions, permission/resource mappings, compatibility behavior for existing users, and credential-scope examples.
Label APIs require administrator bearer token authentication.
| API | Method | URL |
|---|---|---|
| Create | PUT | /v1.0/tenants/[guid]/labels |
| Create many | PUT | /v1.0/tenants/[guid]/labels/bulk |
| Update | PUT | /v1.0/tenants/[guid]/labels/[guid] |
| Read many | GET | /v1.0/tenants/[guid]/labels |
| Read many | GET | /v1.0/tenants/[guid]/labels?guids=... |
| Read | GET | /v1.0/tenants/[guid]/labels/[guid] |
| Read all in tenant | GET | /v1.0/tenants/[guid]/labels/all |
| Read all in graph | GET | /v1.0/tenants/[guid]/graphs/[guid]/labels/all |
| Read graph labels | GET | /v1.0/tenants/[guid]/graphs/[guid]/labels |
| Read node labels | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/labels |
| Read edge labels | GET | /v1.0/tenants/[guid]/graphs/[guid]/edges/[guid]/labels |
| Delete | DELETE | /v1.0/tenants/[guid]/labels/[guid] |
| Delete multiple | DELETE | /v1.0/tenants/[guid]/labels/bulk |
| Delete all in tenant | DELETE | /v1.0/tenants/[guid]/labels/all |
| Delete all in graph | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/labels/all |
| Delete graph labels | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/labels |
| Delete node labels | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/labels |
| Delete edge labels | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/edges/[guid]/labels |
| Exists | HEAD | /v1.0/tenants/[guid]/labels/[guid] |
Tag APIs require administrator bearer token authentication.
| API | Method | URL |
|---|---|---|
| Create | PUT | /v1.0/tenants/[guid]/tags |
| Update | PUT | /v1.0/tenants/[guid]/tags/[guid] |
| Read many | GET | /v1.0/tenants/[guid]/tags |
| Read many | GET | /v1.0/tenants/[guid]/tags?guids=... |
| Read | GET | /v1.0/tenants/[guid]/tags/[guid] |
| Read all in tenant | GET | /v1.0/tenants/[guid]/tags/all |
| Read all in graph | GET | /v1.0/tenants/[guid]/graphs/[guid]/tags/all |
| Read graph tags | GET | /v1.0/tenants/[guid]/graphs/[guid]/tags |
| Read node tags | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/tags |
| Read edge tags | GET | /v1.0/tenants/[guid]/graphs/[guid]/edges/[guid]/tags |
| Delete | DELETE | /v1.0/tenants/[guid]/tags/[guid] |
| Delete all in tenant | DELETE | /v1.0/tenants/[guid]/tags/all |
| Delete all in graph | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/tags/all |
| Delete graph tags | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/tags |
| Delete node tags | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/tags |
| Delete edge tags | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/edges/[guid]/tags |
| Exists | HEAD | /v1.0/tenants/[guid]/tags/[guid] |
Vector APIs require administrator bearer token authentication, aside from the vector search API.
| API | Method | URL |
|---|---|---|
| Create | PUT | /v1.0/tenants/[guid]/vectors |
| Update | PUT | /v1.0/tenants/[guid]/vectors/[guid] |
| Read many | GET | /v1.0/tenants/[guid]/vectors |
| Read many | GET | /v1.0/tenants/[guid]/vectors?guids=... |
| Read | GET | /v1.0/tenants/[guid]/vectors/[guid] |
| Read all in tenant | GET | /v1.0/tenants/[guid]/vectors/all |
| Read all in graph | GET | /v1.0/tenants/[guid]/graphs/[guid]/vectors/all |
| Read graph vectors | GET | /v1.0/tenants/[guid]/graphs/[guid]/vectors |
| Read node vectors | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/vectors |
| Read edge vectors | GET | /v1.0/tenants/[guid]/graphs/[guid]/edges/[guid]/vectors |
| Delete | DELETE | /v1.0/tenants/[guid]/vectors/[guid] |
| Delete all in tenant | DELETE | /v1.0/tenants/[guid]/vectors/all |
| Delete all in graph | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/vectors/all |
| Delete graph vectors | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/vectors |
| Delete node vectors | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/vectors |
| Delete edge vectors | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/edges/[guid]/vectors |
| Exists | HEAD | /v1.0/tenants/[guid]/vectors/[guid] |
| Search | POST | /v1.0/tenants/[guid]/vectors |
| Search in graph | POST | /v1.0/tenants/[guid]/graphs/[guid]/vectors/search |
| API | Method | URL |
|---|---|---|
| Create | PUT | /v1.0/tenants/[guid]/graphs |
| Update | PUT | /v1.0/tenants/[guid]/graphs/[guid] |
| Read | GET | /v1.0/tenants/[guid]/graphs/[guid] |
| Read many | GET | /v1.0/tenants/[guid]/graphs |
| Read many | GET | /v1.0/tenants/[guid]/graphs?guids=... |
| Read all in tenant | GET | /v1.0/tenants/[guid]/graphs/all |
| Read first | POST | /v1.0/tenants/[guid]/graphs/first |
| Statistics | GET | /v1.0/tenants/[guid]/graphs/[guid]/stats |
| All graph statistics | GET | /v1.0/tenants/[guid]/graphs/stats |
| Delete | DELETE | /v1.0/tenants/[guid]/graphs/[guid] |
| Delete w/ cascade | DELETE | /v1.0/tenants/[guid]/graphs/[guid]?force |
| Delete all in tenant | DELETE | /v1.0/tenants/[guid]/graphs/all |
| Exists | HEAD | /v1.0/tenants/[guid]/graphs/[guid] |
| Search | POST | /v1.0/tenants/[guid]/graphs/search |
| Render as GEXF | GET | /v1.0/tenants/[guid]/graphs/[guid]/export/gexf?incldata |
| Batch existence | POST | /v1.0/tenants/[guid]/graphs/[guid]/existence |
| Native query | POST | /v1.0/tenants/[guid]/graphs/[guid]/query |
| Graph transaction | POST | /v1.0/tenants/[guid]/graphs/[guid]/transaction |
| Node subgraph | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/subgraph |
| Node subgraph stats | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/subgraph/stats |
Native graph query and graph transaction endpoints are graph scoped. They cannot cross tenants or graphs.
| API | Method | |
|---|---|---|
| Enable | PUT | /v1.0/tenants/[guid]/graphs/[guid]/vectorindex/enable |
| Delete | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/vectorindex |
| Read configuration | GET | /v1.0/tenants/[guid]/graphs/[guid]/vectorindex/config |
| Read statistics | GET | /v1.0/tenants/[guid]/graphs/[guid]/vectorindex/stats |
| Rebuild index | POST | /v1.0/tenants/[guid]/graphs/[guid]/vectorindex/rebuild |
| API | Method | URL |
|---|---|---|
| Create | PUT | /v1.0/tenants/[guid]/graphs/[guid]/nodes |
| Create many | PUT | /v1.0/tenants/[guid]/graphs/[guid]/nodes/bulk |
| Update | PUT | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid] |
| Read | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid] |
| Read many | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes |
| Read many | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes?guids=... |
| Read all in tenant | GET | /v1.0/tenants/[guid]/nodes |
| Read all in graph | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/all |
| Read most connected | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/mostconnected |
| Read least connected | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/leastconnected |
| Delete | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid] |
| Delete all in graph | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/nodes/all |
| Delete all in tenant | DELETE | /v1.0/tenants/[guid]/nodes |
| Delete multiple | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/nodes/bulk |
| Exists | HEAD | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid] |
| Search | POST | /v1.0/tenants/[guid]/graphs/[guid]/nodes/search |
| API | Method | URL |
|---|---|---|
| Create | PUT | /v1.0/tenants/[guid]/graphs/[guid]/edges |
| Create many | PUT | /v1.0/tenants/[guid]/graphs/[guid]/edges/bulk |
| Update | PUT | /v1.0/tenants/[guid]/graphs/[guid]/edges/[guid] |
| Read | GET | /v1.0/tenants/[guid]/graphs/[guid]/edges/[guid] |
| Read many | GET | /v1.0/tenants/[guid]/graphs/[guid]/edges |
| Read many | GET | /v1.0/tenants/[guid]/graphs/[guid]/edges?guids=... |
| Read all in tenant | GET | /v1.0/tenants/[guid]/edges |
| Read all in graph | GET | /v1.0/tenants/[guid]/graphs/[guid]/edges/all |
| Read between nodes | GET | /v1.0/tenants/[guid]/graphs/[guid]/edges/between |
| Delete | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/edges/[guid] |
| Delete all in graph | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/edges/all |
| Delete all in tenant | DELETE | /v1.0/tenants/[guid]/edges |
| Delete multiple | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/edges/bulk |
| Delete node edges | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/edges |
| Delete node edges (bulk) | DELETE | /v1.0/tenants/[guid]/graphs/[guid]/nodes/edges |
| Exists | HEAD | /v1.0/tenants/[guid]/graphs/[guid]/edges/[guid] |
| Search | POST | /v1.0/tenants/[guid]/graphs/[guid]/edges/search |
| API | Method | URL |
|---|---|---|
| Get edges from a node | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/edges/from |
| Get edges to a node | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/edges/to |
| Get edges connected to a node | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/edges |
| Get node neighbors | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/neighbors |
| Get node parents | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/parents |
| Get node children | GET | /v1.0/tenants/[guid]/graphs/[guid]/nodes/[guid]/children |
| Get routes between nodes | POST | /v1.0/tenants/[guid]/graphs/[guid]/routes |
Request history APIs require read/admin access according to the authenticated principal and optional tenant scope. Request history is intended for recent diagnostics; use Prometheus and OpenTelemetry for aggregate monitoring.
| API | Method | URL |
|---|---|---|
| List request history | GET | /v1.0/requesthistory |
| Request history summary | GET | /v1.0/requesthistory/summary |
| Read entry | GET | /v1.0/requesthistory/[requestGuid] |
| Read detailed entry | GET | /v1.0/requesthistory/[requestGuid]/detail |
| Delete entry | DELETE | /v1.0/requesthistory/[requestGuid] |
| Bulk delete | DELETE | /v1.0/requesthistory/bulk |
Common query-string filters include tenantGuid, method, statusCode, success, pathContains, paging, and time-range filters. Detailed entries include captured request/response metadata subject to configured redaction and truncation.
The v2.0 enumeration routes accept an Enumeration Query as JSON on POST and equivalent query-string filters on GET where supported.
| Resource | Method | URL |
|---|---|---|
| Tenants | GET | /v2.0/tenants |
| Tenants | POST | /v2.0/tenants |
| Users | GET | /v2.0/tenants/[tenantGuid]/users |
| Users | POST | /v2.0/tenants/[tenantGuid]/users |
| Credentials | GET | /v2.0/tenants/[tenantGuid]/credentials |
| Credentials | POST | /v2.0/tenants/[tenantGuid]/credentials |
| Graphs | GET | /v2.0/tenants/[tenantGuid]/graphs |
| Graphs | POST | /v2.0/tenants/[tenantGuid]/graphs |
| Nodes | GET | /v2.0/tenants/[tenantGuid]/graphs/[graphGuid]/nodes |
| Nodes | POST | /v2.0/tenants/[tenantGuid]/graphs/[graphGuid]/nodes |
| Edges | GET | /v2.0/tenants/[tenantGuid]/graphs/[graphGuid]/edges |
| Edges | POST | /v2.0/tenants/[tenantGuid]/graphs/[graphGuid]/edges |
| Labels | GET | /v2.0/tenants/[tenantGuid]/labels |
| Labels | POST | /v2.0/tenants/[tenantGuid]/labels |
| Graph labels | POST | /v2.0/tenants/[tenantGuid]/graphs/[graphGuid]/labels |
| Tags | GET | /v2.0/tenants/[tenantGuid]/tags |
| Tags | POST | /v2.0/tenants/[tenantGuid]/tags |
| Graph tags | POST | /v2.0/tenants/[tenantGuid]/graphs/[graphGuid]/tags |
| Vectors | GET | /v2.0/tenants/[tenantGuid]/vectors |
| Vectors | POST | /v2.0/tenants/[tenantGuid]/vectors |
| Graph vectors | POST | /v2.0/tenants/[tenantGuid]/graphs/[graphGuid]/vectors |