---
title: Info
description: Discover this cluster’s API version, storage schemes, retrieval modes, and event capabilities.
doc_version: 0.1.0-preview
last_updated: 2026-09-14
---

# Info

`GET /info`

Discover this cluster’s API version, storage schemes, retrieval modes, and event capabilities.

**Permission:** Any active Engine API key.

[API key types and authentication](/engine/reference/authentication.md).

Use this response before choosing a source URI scheme or Query mode.

The events section reports webhook count, never receiver URLs or secrets.

## Example request

```http
GET /info HTTP/1.1
Host: engine.example.com
Authorization: Bearer <GRAPHON_ENGINE_API_KEY>
```

## Responses

### 200 · Success

The capabilities reported by this example cluster. Your cluster may report different capabilities.

Content type: `application/json`.

#### Response headers

##### `x-request-id`

**string · required**

Request correlation ID. Retain it when investigating a failed or unexpected request.

```json
{
  "name": "graphon-engine",
  "api_version": "1",
  "auth": {
    "required": true
  },
  "storage": {
    "primary": "graphon",
    "schemes": [
      "gs",
      "graphon"
    ]
  },
  "search": {
    "modes": [
      "keyword",
      "semantic"
    ]
  },
  "query": {
    "modes": [
      "standard",
      "ultra"
    ]
  },
  "events": {
    "webhooks": 1,
    "types": [
      "job.updated",
      "file.status_changed",
      "collection.status_changed"
    ]
  }
}
```

#### Response fields

##### `api_version`

**string · required**

Major API version served by this cluster. Routes have no version prefix.

##### `auth`

**object · required**

Authentication requirement for this cluster.

###### `auth.required`

**boolean · required**

Whether the cluster requires API keys. This API requires keys on every route except health and ready.

##### `events`

**object · required**

Supported events and number of configured webhook receivers.

###### `events.types`

**array<string> · required**

Event types this cluster emits. Search and Query do not emit status events.

###### `events.webhooks`

**integer · required**

Number of configured event receivers. The response does not disclose their URLs or secrets.

##### `name`

**string · required**

Cluster name. Events from this cluster include the same name.

##### `query`

**object · required**

Supported answer-generation modes.

###### `query.modes`

**array<string> · required**

Modes supported by this cluster for the enclosing search or query capability. Send only a mode listed here.

##### `search`

**object · required**

Supported ranked-retrieval modes.

###### `search.modes`

**array<string> · required**

Modes supported by this cluster for the enclosing search or query capability. Send only a mode listed here.

##### `storage`

**object · required**

Primary storage identifier and readable URI schemes.

###### `storage.primary`

**string · required**

Identifier of the cluster’s primary file store.

###### `storage.schemes`

**array<string> · required**

Storage URI schemes this cluster can read. A source with another scheme returns invalid_uri.

## Errors

[Error format and retry guidance](/engine/reference/errors.md).

### 401 · `unauthenticated`

The API key is missing, invalid, or revoked.

Send an active key in Authorization: Bearer or X-API-Key.

```json
{
  "error": {
    "code": "unauthenticated",
    "message": "The API key is missing, invalid, or revoked.",
    "request_id": "req_example",
    "retryable": false,
    "details": {}
  }
}
```

### 503 · `temporarily_unavailable`

A dependency, cluster readiness condition, or capacity limit prevents this operation.

Inspect retryable and details. Retry only when permitted, preserving the idempotency key for the same write.

```json
{
  "error": {
    "code": "temporarily_unavailable",
    "message": "A dependency, cluster readiness condition, or capacity limit prevents this operation.",
    "request_id": "req_example",
    "retryable": true,
    "details": {}
  }
}
```

### 500 · `internal_error`

An unexpected server failure prevented this request from completing.

Retain x-request-id for investigation. Follow retryable before retrying a write.

```json
{
  "error": {
    "code": "internal_error",
    "message": "An unexpected server failure prevented this request from completing.",
    "request_id": "req_example",
    "retryable": false,
    "details": {}
  }
}
```

## Other request languages

### cURL

```bash
curl -sS "$GRAPHON_ENGINE_URL/info" \
  -H "Authorization: Bearer $GRAPHON_ENGINE_API_KEY"
```

### Python

```python
import json
import os
import urllib.request

request = urllib.request.Request(
    os.environ["GRAPHON_ENGINE_URL"] + "/info",
    headers={
        "Authorization": "Bearer " + os.environ["GRAPHON_ENGINE_API_KEY"],
    },
    method="GET",
)
with urllib.request.urlopen(request) as response:
    print(response.read().decode())
```

### JavaScript

```javascript
const response = await fetch(process.env.GRAPHON_ENGINE_URL + "/info", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GRAPHON_ENGINE_API_KEY}`,
  },
});
console.log(response.status, await response.text());
```

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
