Skip to content

Agent discovery

Generated applications should be understandable by both people and coding agents.

Expose:

text
GET /agent
GET /agent/manifest
GET /docs
GET /health
GET /ready

Endpoint responses

GET /agent

Returns a minimal agent description:

json
{
  "name": "my-app",
  "version": "0.1.0",
  "description": "A sample Arqen application",
  "storage_mode": "memory"
}

GET /agent/manifest

Returns the full agent manifest with tool definitions, schemas, and metadata:

json
{
  "name": "my-app",
  "version": "0.1.0",
  "description": "A sample Arqen application",
  "storage_mode": "memory",
  "tools": [
    {
      "name": "create_user",
      "description": "Create a new user account",
      "input": {
        "type": "object",
        "properties": {
          "email": { "type": "string", "format": "email" },
          "name": { "type": "string" }
        },
        "required": ["email", "name"]
      },
      "output": {
        "type": "object",
        "properties": {
          "id": { "type": "string" },
          "email": { "type": "string" },
          "name": { "type": "string" }
        }
      },
      "scopes": ["users:write"],
      "effect": "write",
      "idempotent": false
    }
  ]
}

GET /docs

Returns the current HTML API summary. Applications can additionally expose the OpenAPI document and Swagger UI generated by arqen::openapi; those routes are application wiring decisions rather than automatic framework routes.

GET /health

Returns liveness status:

json
{
  "status": "ok"
}

GET /ready

Returns readiness status, checking dependencies:

json
{
  "status": "ok",
  "checks": {
    "thingd": "ok"
  }
}

The manifest describes the application, tools, input/output schemas, required scopes, read/write effects, idempotency behavior, and operations that enqueue jobs. Generated applications also include a README with start, test, storage, credential, and extension guidance. Teams may add private local instructions, but those files are not required for discovery and are not part of Arqen's public repository contract.

Rust-first implementation · language-agnostic application positioning